Tetris Worlds (Game Boy Advance)
Tetris Worlds |
---|
Developer: 3d6 Games
|
Tetris Worlds is a rather controversial entry in the Tetris franchise.
Contents
Unused Text
Old version detected This is a newer version of Tetris Worlds and cannot communicate with the attached version.
Unused connection error message for version incompatibility.
This version is dated 08 25 2001 C And should be reported as VERSION 2.13 on the QA web site. thanks
Build date and version numbers.
Development-Related Text
Similar to the Windows version, there are several Tetris Worlds Script (TWS)-like texts in the ROM. Unlike the PC version, however, they are mostly binary compiled (and as such only a small part of the script is in ASCII text) and still contain developer's comments (HBR is Henk B. Rogers).
tpf2data <if pl.d0 > 0 mix garbage garbage pl.d0 set pl.d0 to 0 :minos 24:Ghost set ghost to 1 lose fldd :images:Multi_24x24.pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_UNMVE" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 K* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" *DBP: Added Henk's new T-spin recongnition and scoring system. * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * subtract the t-spin bonus (1 for a t-spin) * in the eliminate phase (+2 for a single) * in the eliminate phase (+6 for a double) * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 end end end endctrl mino J color :minos 24:jdrop :minos 24:jlock L color :minos 24:ldrop :minos 24:llock S color :minos 24:sdrop :minos 24:slock Z color :minos 24:zdrop :minos 24:zlock O color :minos 24:odrop :minos 24:olock T color :minos 24:tdrop :minos 24:tlock I color :minos 24:idrop :minos 24:ilock Garbage :minos 24:garbage xtetr T Tetrimino J Tetrimino L Tetrimino S Tetrimino Z Tetrimino I Tetrimino O Tetrimino xshap T-spin1 T-spin2 xptrn Line clear kill mino sound "FX_CLR01" 10xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls *HBR: pf.d3=1 the last line clear was a "tetris" * pf.d3=0 the last line clear was not set pf.d3 to 0 *HBR: Goal has been reset to count down. * pf.d1 is the level target * goal is the number of points left till level clear set pf.d1 to (5*level) set goal to pf.d1 )if level >= 15 sound "VO_EXLNT" win endl Level #1 Level #2 Level #3 Level #4 Level #5 Level #6 Level #7 Level #8 Level #9 Level #10 Level #11 Level #12 Level #13 Level #14 Level #15 xevnt 60 seconds sound "TWM_MIDL" 30 seconds sound "VO_30TIC" 20 seconds sound "VO_20TIC" 100e 10 seconds sound "VO_10TIC" 110e 9 seconds sound "VO_09TIC" 111e 8 seconds sound "VO_08TIC" 112e 7 seconds sound "VO_07TIC" 113e 6 seconds sound "VO_06TIC" 114e 5 seconds sound "VO_05TIC" 115e 4 seconds sound "VO_04TIC" 116e 3 seconds sound "VO_03TIC" 117e 2 seconds sound "VO_02TIC" 118e 1 second sound "VO_01TIC" 119e Time up sound "VO_TIME" 120e Go for a Tetris sound "VO_INT01" Level start sound "TWM_BGIN" Attack1 set pl.d0 to pl.d0 + 1 Attack2 set pl.d0 to pl.d0 + 2 Attack3 set pl.d0 to pl.d0 + 4 xanim Death xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok ppat ptr8 panm pelm 6*DBP Deleted the Sending Attacks. There are no attacks in marathon mode *HBR: ph.d0 is the number of lines cleared * play voice for beginner levels * play sound effect * subtract line points from goal * subtract t-spin bonus from goal * set pf.d3..the multiple tetris flag * send attack if ph.d0 = 1 if level < 6 sound "VO_LINE01" end sound "FX_LNE01" sound "FX_MTRS1" set goal to goal -1 set pf.d3 to 0 if pf.d4 set goal to goal -1 end if ph.d0 = 2 if level < 6 sound "VO_LINE02" end sound "FX_LNE02" sound "FX_MTRS2" set goal to goal -3 set pf.d3 to 0 if pf.d4 set goal to goal -3 end send "Attack1" if ph.d0 = 3 if level < 6 sound "VO_LINE03" end sound "FX_LNE03" sound "FX_MTRS3" set goal to goal -5 set pf.d3 to 0 send "Attack2" if ph.d0 = 4 if level < 11 sound "VO_TETRS" end sound "FX_LNE04" sound "FX_MTRS4" *HBR: award -4 bonus for a multiple tetris * and play the MTRIS sound effect * "FX_MTRIS" has a 1 second blank * so that it does not cover "VO_TETRS" * "FX_MTRIS01" has no blank if pf.d3 set goal to goal -4 sound "FX_MTRS5" end set pf.d3 to 1 set goal to goal -8 send "Attack3" *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 set ph.d0 to ph.d0 + 1 sound "FX_LNE01"psol pgvt sound "FX_LOCK"pcmp i*HBR If the goal is less than or equal to 0 * then go to the next level. if goal <= 0 next level xxxx tpf2data :minos 24:Ghost set ghost to 1 fldd :images:Multi_24x24.pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 K* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" *DBP: Added Henk's new T-spin recongnition and scoring system. * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * subtract the t-spin bonus (1 for a t-spin) * in the eliminate phase (1 for a single) * in the eliminate phase (3 for a double) * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 end end end endctrl mino :minos 24:jdrop :minos 24:jlock :minos 24:tdrop :minos 24:tlock :minos 24:sdrop :minos 24:slock :minos 24:zdrop :minos 24:zlock :minos 24:ldrop :minos 24:llock :minos 24:odrop :minos 24:olock :minos 24:idrop :minos 24:ilock xtetr xshap tspin1 tspin2 xptrn line clear kill mino sound "FX_CLR01" 10xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls *DBP: Inserted the new goal system *HBR: Goal has been reset to count down. * pf.d1 is the level target * goal is the number of points left till level clear set goal to (5*level) )if level >= 15 sound "VO_EXLNT" win endxevnt Cascade Intro sound "VO_INT02" 60sec sound "TWM_MIDL" 30sec sound "VO_30TIC" 20sec sound "VO_20TIC" 100e 10sec sound "VO_10TIC" 110e 9sec sound "VO_09TIC" 111e 8sec sound "VO_08TIC" 112e 7sec sound "VO_07TIC" 113e 6sec sound "VO_06TIC" 114e 5sec sound "VO_05TIC" 115e 4sec sound "VO_04TIC" 116e 3sec sound "VO_03TIC" 117e 2sec sound "VO_02TIC" 118e 1sec sound "VO_01TIC" 119e Time Up sound "VO_TIME" 120e Game Start sound "TWM_BGIN" 0xanim Death xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok ppat ptr8 panm pelm set ph.d0 to 0 *DBP: Changed the game form a scoring system to the new goal based system. *JR: this script calculates the line bonus * subtract points from goal if ph.d0 >= 1 set goal to goal - (ph.d0+(ph.d0-1)) *JR- this script calculates the cascade bonus. if ph.d0>0 if cascades>1 set goal to goal - ((cascades-1)*2) end if ph.d0>=4 send "Attack3" *DBP Added this calculation for precision in formulas *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 set ph.d0 to ph.d0 + 1 sound "FX_LNE01"psol pgvt sound "FX_LOCK"pcmp \if cascades = 2 sound "FX_MTRS1" if level < 6 sound "VO_CAS01" end if cascades = 3 sound "FX_MTRS2" if level < 6 sound "VO_CAS02" end if cascades = 4 sound "FX_MTRS3" if level < 6 sound "VO_CAS03" end if cascades = 5 sound "FX_MTRS4" if level < 6 sound "VO_CAS04" end if cascades = 6 sound "FX_MTRS5" if level < 6 sound "VO_CAS05" end if cascades = 7 sound "FX_MTRS6" if level < 6 sound "VO_CAS06" end if cascades > 7 sound "FX_MTRS6" if level < 6 sound "VO_CAS07" end if goal <= 0 if level time < 120 !rankup end next level xxxx tpf2data :minos 24:Ghost set ghost to 1 fldd :images:Multi_24x24.pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound"FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 K* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * subtract the t-spin bonus (1 for a t-spin) * in the eliminate phase (1 for a single) * in the eliminate phase (3 for a double) * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 end end end endctrl mino :minos 24:jdrop :minos 24:jlock :minos 24:sdrop :minos 24:slock :minos 24:odrop :minos 24:olock :minos 24:ldrop :minos 24:llock :minos 24:tdrop :minos 24:tlock :minos 24:idrop :minos 24:ilock :minos 24:zdrop :minos 24:zlock Gold :minos 24:fusionfall :minos 24:fusionbase Garbage :minos 24:garbage Solo Blue :minos 24:jlock Solo Green :minos 24:slock Solo Yellow :minos 24:olock Solo Orange :minos 24:llock Solo Cyan :minos 24:tlock Solo Purple :minos 24:ilock Solo Red :minos 24:zlock xtetr xshap tspin1 tspin2 xptrn line clear Fif mino.d0 = 0 kill mino sound "FX_CLR01" else set gravity to 1 sound"FX_SLVRF" disease %pattern "infection" at mino.x, mino.y infection if mino.d1 = 1 mutate mino sound "FX_FUS02" sound "FX_MTRS4" animate "infection" set goal to goal -1 else mutate mino level end kill mino *set gravity to 1 set pf.d0 to 1 next level pf.d6 + 1xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh left right xlvls mixed garbage (level) if ((level/2) - (level\2)) = 0 trash "left" else trash "right" *HBR: pf.d6 + 1 is the end level condition * in the "level end" pattern set pf.d6 to level * 2 set goal to pf.d6 )if level >= 15 sound "VO_EXLNT" win endxevnt 30sec sound "VO_30TIC" 20sec sound "VO_20TIC" 100e 15sec sound "VO_15TIC" 105e 10sec sound "VO_10TIC" 110e 9sec sound "VO_09TIC" 111e 8sec sound "VO_08TIC" 112e 7sec sound "VO_07TIC" 113e 6sec sound "VO_06TIC" 114e 5sec sound "VO_05TIC" 115e 4sec sound "VO_04TIC" 116e 3sec sound "VO_03TIC" 117e 2sec sound "VO_02TIC" 118e 1sec sound "VO_01TIC" 119e Time Up sound "VO_TIME" 120e 60sec sound "TWM_MIDL" Game Start sound "TWM_BGIN" Intro sound "VO_INT01" 3xanim death infection xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok ppat set pf.d0 to 0 ptr8 kill mino sound "FX_LOCK" pf.d0 = 1 panm pelm 5set phase.d0 to 0 set phase.d0 to phase.d0 + cascades exit *HBR: ph.d0 is the number of lines cleared * play voice for beginner levels * play sound effect if ph.d0 = 1 sound "FX_LNE01" if ph.d0 = 2 sound "FX_LNE01" sound "FX_LNE01" if ph.d0 = 3 sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" if ph.d0 = 4 sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 set phase.d0 to phase.d0 + 1 sound "FX_LNE01" psol pgvt set gravity to 0 sound "FX_LOCK"pcmp *HBR: goal counts down to 0 * under leveltime means next level (win) * over level time means lose (repeat level) if goal <= 0 next level xxxx (repeat level) if goal <= 0 next level xxxx tpf2data :minos 24:Ghost set ghost to 1 fldd :images:Multi_24x24.pict pf.d9 pf.d8pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 K* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" *DBP: Added Henk's new T-spin recongnition system. * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 end end end endctrl mino :minos 24:tdrop :minos 24:tlock :minos 24:sdrop :minos 24:slock :minos 24:zdrop :minos 24:zlock :minos 24:ldrop :minos 24:llock :minos 24:odrop :minos 24:olock :minos 24:idrop :minos 24:ilock :minos 24:jdrop :minos 24:jlock garbage :minos 24:garbage special garbage :minos 24:special garbage2 xtetr xshap tspin1 tspin2 xptrn line clear kill mino sound "FX_CLR01" Critical Mass Blue kill mino sound "FX_MASS1" Critical Mass Cyan kill mino sound "FX_MASS1" Critical Mass Green kill mino sound "FX_MASS1" Critical Mass Red kill mino sound "FX_MASS1" Critical Mass Maroon kill mino sound "FX_MASS1" Critical Mass Yellow kill mino sound "FX_MASS1" Critical Mass Purple kill mino sound "FX_MASS1" 24xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls set pf.d0 to 0 set pf.d8 to 0 set pf.d9 to 5 mixed garbage level set pf.d9 to 0 set pf.d8 to 5 mixed garbage 1 set pf.d3 to 0 )if level >= 15 sound "VO_EXLNT" win endxevnt Game Start sound "TWM_BGIN" Intro sound "VO_INT02" Time Up sound "VO_TIME" 120e sound "TWM_MIDL" sound "VO_30TIC" sound "VO_20TIC" 100e sound "VO_10TIC" 110e sound "VO_09TIC" 111e sound "VO_08TIC" 112e sound "VO_07TIC" 113e sound "VO_06TIC" 114e sound "VO_05TIC" 115e sound "VO_04TIC" 116e sound "VO_03TIC" 117e sound "VO_02TIC" 118e sound "VO_01TIC" 119xanim death xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok ppat ptr8 1kill mino sound "FX_MTRS4" set pf.d3 to pf.d3+1 pf.d3=1 panm pelm sound "FX_LNE01"psol *If there are no special minos left, this script forces *the engine back to the iterate phase where all of the *remaining minos are killed. The pf.d3 variable makes *sure this only happens once. if ph.d0 = 0 set pf.d3 to pf.d3 + 1 if pf.d3 = 1 touch end next level g*This part checks to see if there are any special minos *left on the playfield. set ph.d0 to ph.d0+ 1pgvt sound "FX_LOCK"pcmp if cascades = 2 sound "FX_MTRS1" if level < 6 sound "VO_CAS01" end if cascades = 3 sound "FX_MTRS2" if level < 6 sound "VO_CAS02" end if cascades = 4 sound "FX_MTRS3" if level < 6 sound "VO_CAS03" end if cascades = 5 sound "FX_MTRS4" if level < 6 sound "VO_CAS04" end if cascades = 6 sound "FX_MTRS5" if level < 6 sound "VO_CAS05" end if cascades = 7 sound "FX_MTRS6" if level < 6 sound "VO_CAS06" end if cascades > 7 sound "FX_MTRS6" if level < 6 sound "VO_CAS07" end xxxxx tpf2data :minos 24:Ghost set ghost to 1 fldd :images:hot_line24x24.pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 L* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" *DBP: Added Henk's new T-spin recongnition system. * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 end end end endctrl mino :minos 24:jdrop :minos 24:jlock :minos 24:sdrop :minos 24:slock :minos 24:tdrop :minos 24:tlock :minos 24:zdrop :minos 24:zlock :minos 24:odrop :minos 24:olock :minos 24:idrop :minos 24:ilock :minos 24:ldrop :minos 24:llock Solo Blue :minos 24:jlock Solo Green :minos 24:slock Solo Cyan :minos 24:tlock Solo Red :minos 24:zlock Solo Yellow :minos 24:olock Solo Purple :minos 24:ilock Solo Orange :minos 24:llock xtetr xshap tspin1 tspin2 xptrn line clear /kill mino sound "FX_CLR01" set ph.d0 to mino.y *DBP: Took out all reference to score to fit into the new goal based system. if pf.d0 < 2 if ph.d0 = 2 set goal to goal - 6 sound "FX_HTLN6" * sound "FX_MTRS6" else if ph.d0 = 3 set goal to goal - 5 sound "FX_HTLN5" * sound "FX_MTRS5" else if ph.d0 = 5 set goal to goal - 4 sound "FX_HTLN4" * sound "FX_MTRS4" else if ph.d0 = 8 set goal to goal - 3 sound "FX_HTLN3" * sound "FX_MTRS3" else if ph.d0 = 12 set goal to goal - 2 sound "FX_HTLN2" * sound "FX_MTRS2" else if ph.d0 = 17 set goal to goal - 1 sound "FX_HTLN1" * sound "FX_MTRS1" end end end end end end if score >= goal set pf.d0 to 1 end 10xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls *DBP: Implemented the new goal based system *HBR: Goal has been reset to count down. * pf.d1 is the level target * goal is the number of points left till level clear set pf.d1 to (5*level) set goal to pf.d1 *if level >= 15 sound "VO_EXLNT" win xevnt Hot Line Intro sound "VO_INT03" 60sec sound "TWM_MIDL" 30sec sound "VO_30TIC" 20sec sound "VO_20TIC" 100e 10sec sound "VO_10TIC" 110e 9sec sound "VO_09TIC" 111e 8sec sound "VO_08TIC" 112e 7sec sound "VO_07TIC" 113e 6sec sound "VO_06TIC" 114e 5sec sound "VO_05TIC" 115e 4sec sound "VO_04TIC" 116e 3sec sound "VO_03TIC" 117e 2sec sound "VO_02TIC" 118e 1sec sound "VO_01TIC" 119e Time Up sound "VO_TIME" 120e Game Start sound "TWM_BGIN" 0xanim death xpgen xset pf.d0 to 0 *HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok ppat ptr8 if pf.d0 = 1 set pf.d0 to 2 mutate mino sound "FX_LOCK" pf.d0 = 1 panm pelm r*HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 sound "FX_LNE01"psol pgvt sound "FX_LOCK"pcmp *HBR: goal counts down to 0 * under leveltime means next level (win) * over level time means lose (repeat level) if goal <= 0 next level xxxxjX tpf2data :minos 24:Ghost set ghost to 1 fldd :images:Squaretris(24x24).pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 K* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * subtract the t-spin bonus (1 for a t-spin) * in the eliminate phase (1 for a single) * in the eliminate phase (3 for a double) * set pf.d4 : the t-spin flag if piece.id = 7 if spin shape "T-spin 1" at piece.x, piece.y if result = 1 * If you want t-spins to only work if facing up and down * script will be "if piece.dir = 0 | piece.dir = 2". * jkm - selective destruction - begin if piece.dir = 3 pattern "t-spin top" at piece.x,piece.y-1 pattern "t-spin bottom" at piece.x,piece.y else pattern "t-spin top" at piece.x,piece.y pattern "t-spin bottom" at piece.x,piece.y+1 end * jkm - selective destruction - end if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 else shape "T-spin 2" at piece.x, piece.y if result = 1 * If you want t-spins to only work if facing up and down * script will be "if piece.dir = 0 | piece.dir = 2". * jkm - selective destruction - begin if piece.dir = 3 pattern "t-spin top" at piece.x,piece.y-1 pattern "t-spin bottom" at piece.x,piece.y else pattern "t-spin top" at piece.x,piece.y pattern "t-spin bottom" at piece.x,piece.y+1 end * jkm - selective destruction - end if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 end end end ctrl mino J color :minos 24:jdrop :minos 24:jlock L color :minos 24:ldrop :minos 24:llock S color :minos 24:sdrop :minos 24:slock Z color :minos 24:zdrop :minos 24:zlock O color :minos 24:odrop :minos 24:olock T color :minos 24:tdrop :minos 24:tlock I color :minos 24:idrop :minos 24:ilock Pure Square :minos 24:Pure Square.pict Combo Square :minos 24:Combo Square.pict Result J color :minos 24:jdrop :minos 24:jlock Result L color :minos 24:ldrop :minos 24:llock Result S color :minos 24:sdrop :minos 24:slock Result Z color :minos 24:zdrop :minos 24:zlock Result O color :minos 24:odrop :minos 24:olock Result T color :minos 24:tdrop :minos 24:tlock Result I color :minos 24:idrop :minos 24:ilock Result Pure Square :minos 24:Pure Square.pict Result Combo Square :minos 24:Combo Square.pict garbage :minos 24:garbage :minos 24:garbage xtetr J Tetrimino I Tetrimino O Tetrimino S Tetrimino L Tetrimino Z Tetrimino T Tetrimino xshap Perfect Square T-spin 1 T-spin 2 Spin S 1 Spin S 2 Spin Z 1 Spin Z 2 xptrn t-spin top sound "FX_RWD02" set pl.d4 to 0 set pl.d5 to mino.y t-spin bottom !sound "FX_RWD01" set pl.d5 to 21 &if pl.d4 = -1 set pl.d4 to mino.y J Square ^*DBP - UPDATED the VISIBLE TAGS so that each piece can correctly form GOLD and SILVER squares. * When a perfet square is created using 4 "J" Tetriminos, the "J" Teriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" I Square ^*DBP - UPDATED the VISIBLE TAGS so that each piece can correctly form GOLD and SILVER squares. * When a perfet square is created using 4 "I" Tetriminos, the "I" Teriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" O Square ^*DBP - UPDATED the VISIBLE TAGS so that each piece can correctly form GOLD and SILVER squares. * When a perfet square is created using 4 "O" Tetriminos, the "O" Teriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" T Square ^*DBP - UPDATED the VISIBLE TAGS so that each piece can correctly form GOLD and SILVER squares. * When a perfet square is created using 4 "T" Tetriminos, the "T" Teriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" L Square ^*DBP - UPDATED the VISIBLE TAGS so that each piece can correctly form GOLD and SILVER squares. * When a perfet square is created using 4 "L" Tetriminos, the "L" Teriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" Combo Square 1set mino to "Combo Square" animate "Pure & Combo" solidify sound "FX_SLVRF" Line clear r* Adding the points from the mino.d9 to the bonus points set pf.d0 to pf.d0 + mino.d9 kill mino sound "FX_CLR01" 10xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls *HBR: pf.d3=1 the last line clear was a "tetris" * pf.d3=0 the last line clear was not set pf.d3 to 0 *HBR: goal is set * game subtracts from the goal * if the goal <= 0 then level up set goal to (10*level) if level >= 15 win endl Level #1 Level #2 Level #3 Level #4 Level #5 Level #6 Level #7 Level #8 Level #9 Level #10 Level #11 Level #12 Level #13 Level #14 Level #15 xevnt 60 seconds sound "TWM_MIDL" 30 seconds sound "VO_30TIC" 20 seconds sound "VO_20TIC" 100e 10 seconds sound "VO_10TIC" 110e 9 seconds sound "VO_09TIC" 111e 8 seconds sound "VO_08TIC" 112e 7 seconds sound "VO_07TIC" 113e 6 seconds sound "VO_06TIC" 114e 5 seconds sound "VO_05TIC" 115e 4 seconds sound "VO_04TIC" 116e 3 seoncds sound "VO_03TIC" 117e 2 seconds sound "VO_02TIC" 118e 1 second sound "VO_01TIC" 119e Time up sound "VO_TIME" 120e Intro sound "VO_INT01" Game Start sound "TWM_BGIN" Attack1 mix garbage garbage 1 Attack2 mix garbage garbage 2 Attack3 mix garbage garbage 4 xanim Death Pure & Combo xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok ppat * jkm - selective destruction - begin * Clear the pl.d4 & pl.d5 set pl.d4 to -1 set pl.d5 to -1 * jkm - selective destruction - end ptr8 X* ESP - This turns the gravity on. if pl.d4 != -1 set gravity to 1 set pl.d6 to 0 * jkm - selective destruction - begin if mino.y > pl.d5 exit if mino.y < pl.d4 exit * jkm - selective destruction - end * ESP - This will change all the original minos to the mutate minos assigned. mutate mino sound "FX_LOCK" pl.d4 != -1 panm pelm *HBR: ph.d0 is the number of lines cleared * play voice for beginner levels * play sound effect * subtract the t-spin bonus (1 for a single) * (3 for a double) * subtract points from goal if ph.d0 = 1 if level < 6 sound "VO_LINE01" end if pf.d4 set goal to goal - 1 end sound "FX_LNE01" sound "FX_MTRS1" set goal to goal -1 if ph.d0 = 2 if level < 6 sound "VO_LINE02" end if pf.d4 set goal to goal - 3 end sound "FX_LNE01" sound "FX_LNE01" sound "FX_MTRS2" set goal to goal -3 send "Attack1" if ph.d0 = 3 if level < 6 sound "VO_LINE03" end sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_MTRS3" set goal to goal -5 send "Attack2" if ph.d0 >= 4 if level < 11 sound "VO_TETRS" end sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_MTRS4" set goal to goal -8 send "Attack3" *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 set ph.d0 to ph.d0 + 1 _*ESP - Adding the Pure/Combo square bonus to the score. set goal to goal - pf.d0 set pf.d0 to 0 sound "FX_LNE01"psol pgvt T* ESP - After the T-spin is triggered, this turns the gravity off. set gravity to 0 sound "FX_LOCK"pcmp *HBR: goal counts down to 0 * under leveltime means next level (win) * over level time means lose (repeat level) if goal <= 0 next level xxxxcleared * play voice for beginner levels * play sound effect * subtract the t-spin bonus (1 for a single) * (3 for a double) * subtract points from goal * send attack if ph.d0 = 1 if level < 6 sound "VO_LINE01" end if pf.d4 set goal to goal - 1 end sound "FX_LNE01" set goal to goal -1 if ph.d0 = 2 if level < 6 sound "VO_LINE02" end if pf.d4 set goal to goal - 3 end * sound "FX_LNE02" sound "FX_LNE01" sound "FX_LNE01" set goal to goal -3 send "Attack 1" if ph.d0 = 3 if level < 6 sound "VO_LINE03" end sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" set goal to goal -5 send "Attack 2" if ph.d0 >= 4 if level < 11 sound "VO_TETRS" end sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" set goal to goal -8 send "Attack 3" *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 set ph.d0 to ph.d0 + 1 *JR- add line total to score *score ph.d0 *ESP - Adding the Pure/Combo square bonus to the score. set goal to goal - pf.d0 set pf.d0 to 0 *JR- Deleted all of this because its unnecessary. The line clear sound is handled in another place. 1 point bonus for Tetris is old; it has be replaced by standard Tetris bonus. *if ph.d0 > 0 & ph.d0 < 4 *sound "FX_LNE01" *end * ESP - score a bonus point for a tetris *score 1 sound "FX_LOCK"psol o* ESP - If the mino sticks out above the 20 by 10 playfield then you lose the game. *if mino.y < 2 * lose *endpgvt T* ESP - After the T-spin is triggered, this turns the gravity off. set gravity to 0 pcmp *HBR: goal counts down to 0 * under leveltime means next level (win) * over level time means lose (repeat level) if goal <= 0 next level xxxxe (repeat level) if goal <= 0 next level xxxxxxel time means lose (repeat level) if goal <= 0 next level xxxx tpf2data s*HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time if level time >= 120 set pf.d7 to 1 endd :minos 24:Ghost set ghost to 1 fldd :images:Multi_24x24.pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 K* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" x* HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * subtract the t-spin bonus (1 for a t-spin) * in the eliminate phase (1 for a single) * in the eliminate phase (3 for a double) * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 * sound "VO_TSPIN" sound "FX_RWD02" else sound "FX_RWD02" end set goal to goal -1 set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 * sound "VO_TSPIN" sound "FX_RWD02" else sound "FX_RWD02" end set goal to goal -1 set pf.d4 to 1 end end end ctrl mino J color :minos 24:jdrop :minos 24:jlock L color :minos 24:ldrop :minos 24:llock S color :minos 24:sdrop :minos 24:slock Z color :minos 24:zdrop :minos 24:zlock O color :minos 24:odrop :minos 24:olock T color :minos 24:tdrop :minos 24:tlock I color :minos 24:idrop :minos 24:ilock Garbage :minos 24:garbage xtetr T Tetrimino J Tetrimino L Tetrimino S Tetrimino Z Tetrimino I Tetrimino O Tetrimino xshap T-spin1 T-spin2 xptrn Line clear kill mino sound "FX_CLR01" 10xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls 9*HBR: pf.d3=1 the last line clear was a "tetris" * pf.d3=0 the last line clear was not set pf.d3 to 0 *HBR: goal is set * game subtracts from the goal * if the goal <= 0 then level up set goal to (5*level) *HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time set pf.d7 to 0 )if level >= 15 sound "VO_EXLNT" win endl Level #1 Level #2 Level #3 Level #4 Level #5 Level #6 Level #7 Level #8 Level #9 Level #10 Level #11 Level #12 Level #13 Level #14 Level #15 xevnt 60 seconds * sound "TWM_MIDL" 30 seconds sound "VO_30TIC" 20 seconds sound "VO_20TIC" 100e 10 seconds sound "VO_10TIC" 110e 9 seconds sound "VO_09TIC" 111e 8 seconds sound "VO_08TIC" 112e 7 seconds sound "VO_07TIC" 113e 6 seconds sound "VO_06TIC" 114e 5 seconds sound "VO_05TIC" 115e 4 seconds sound "VO_04TIC" 116e 3 seconds sound "VO_03TIC" 117e 2 seconds sound "VO_02TIC" 118e 1 second sound "VO_01TIC" 119e Time up sound "VO_TIME" 120e Goal of game #if level < 6 sound "VO_INT01" Start game sound "TWM_BGIN" 0xanim Death xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal if pf.d7 lose if pf.d7 lose (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok if pf.d7 lose if pf.d7 lose ppat ptr8 panm pelm *HBR: ph.d0 is the number of lines cleared * play voice for beginner levels * play sound effect * subtract the t-spin bonus (1 for a single) * (3 for a double) * subtract points from goal * set pf.d3..the multiple tetris flag * send attack if ph.d0 = 1 if level < 6 sound "VO_LINE01" end if pf.d4 set goal to goal - 1 end sound "FX_LNE01" set goal to goal -1 sound"FX_MTRS1" set pf.d3 to 0 if ph.d0 = 2 if level < 6 sound "VO_LINE02" end if pf.d4 set goal to goal - 3 end sound "FX_LNE01" sound "FX_LNE01" set goal to goal -3 sound"FX_MTRS2" set pf.d3 to 0 if ph.d0 = 3 if level < 6 sound "VO_LINE03" end sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" set goal to goal -5 sound"FX_MTRS3" set pf.d3 to 0 if ph.d0 = 4 send "Attack3" if level < 11 sound "VO_TETRS" end sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_MTRS4" *HBR: award -4 bonus for a multiple tetris * and play the MTRIS sound effect * "FX_MTRIS" has a 1 second blank * so that it does not cover "VO_TETRS" * "FX_MTRIS01" has no blank if pf.d3 set goal to goal -4 if level < 11 sound "FX_MTRS5" else sound "FX_MTRS5" end else sound"FX_MTRS4" end set pf.d3 to 1 set goal to goal -8 *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 E* JR - add 1 to ph.d0 for each line cleared. set ph.d0 to ph.d0 + 1 sound "FX_LNE01" psol pgvt sound "FX_LOCK"pcmp *HBR: goal counts down to 0 * under leveltime means next level (win) * over level time means lose (repeat level) if goal <= 0 next level xxxx tpf2data s*HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time if level time >= 120 set pf.d7 to 1 endd :minos 24:Ghost set ghost to 1 fldd :images:Multi_24x24.pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 K* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" *DBP: Added Henk's new T-spin recongnition and scoring system. * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * subtract the t-spin bonus (1 for a t-spin) * in the eliminate phase (1 for a single) * in the eliminate phase (3 for a double) * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 end end end endctrl mino :minos 24:jdrop :minos 24:jlock :minos 24:tdrop :minos 24:tlock :minos 24:sdrop :minos 24:slock :minos 24:zdrop :minos 24:zlock :minos 24:ldrop :minos 24:llock :minos 24:odrop :minos 24:olock :minos 24:idrop :minos 24:ilock xtetr xshap tspin1 tspin2 xptrn line clear kill mino sound "FX_CLR01" 10xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls 3*DBP: Implemented the new goal based system *HBR: Goal has been reset to count down. * pf.d1 is the level target * goal is the number of points left till level clear set pf.d1 to (5*level) set goal to pf.d1 *HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time set pf.d7 to 0 )if level >= 15 sound "VO_EXLNT" win endl Level #1 Level #2 Level #3 Level #4 Level #5 Level #6 Level #7 Level #8 Level #9 Level #10 Level #11 Level #12 Level #13 Level #14 Level #15 xevnt Cascade Intro sound "VO_INT02" 60sec sound "TWM_MIDL" 30sec sound "VO_30TIC" 20sec sound "VO_20TIC" 100e 15sec sound "VO_15TIC" 105e 10sec sound "VO_10TIC" 110e 9sec sound "VO_09TIC" 111e 8sec sound "VO_08TIC" 112e 7sec sound "VO_07TIC" 113e 6sec sound "VO_06TIC" 114e 5sec sound "VO_05TIC" 115e 4sec sound "VO_04TIC" 116e 3sec sound "VO_03TIC" 117e 2sec sound "VO_02TIC" 118e 1sec sound "VO_01TIC" 119e Time Up sound "VO_TIME" 120e Game Start sound "TWM_BGIN" 0xanim Death xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal 2*HBR: Check if game time is up if pf.d7 lose 2*HBR: Check if game time is up if pf.d7 lose (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok 2*HBR: Check if game time is up if pf.d7 lose 2*HBR: Check if game time is up if pf.d7 lose ppat ptr8 panm pelm set ph.d0 to 0 *DBP: Changed the game form a scoring system to the new goal based system. *JR: this script calculates the line bonus * subtract points from goal if ph.d0 >= 1 set goal to goal - (ph.d0+(ph.d0-1)) if ph.d0 >= 4 send "Attack3" *JR- this script calculates the cascade bonus. if ph.d0>0 if cascades>1 set goal to goal - ((cascades-1)*2) end *DBP Added this calculation for precision in formulas *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 set ph.d0 to ph.d0 + 1 sound "FX_LNE01"psol pgvt sound "FX_LOCK"pcmp 7if cascades = 2 sound "FX_MTRS1" if level < 6 sound "VO_CAS01" end if cascades = 3 sound "FX_MTRS2" if level < 6 sound "VO_CAS02" end if cascades = 4 sound "FX_MTRS3" if level < 6 sound "VO_CAS03" end if cascades = 5 sound "FX_MTRS4" if level < 6 sound "VO_CAS04" end if cascades = 6 sound "FX_MTRS5" if level < 6 sound "VO_CAS05" end if cascades = 7 sound "FX_MTRS6" if level < 6 sound "VO_CAS06" end if cascades > 7 sound "FX_MTRS6" if level < 6 sound "VO_CAS07" end if goal <= 0 next level xxxx phase.d0 = 10 sound "FX_LNE10" sound "FX_MTRS5" if phase.d0 = 11 sound "FX_LNE11" sound "FX_MTRS5" if phase.d0 = 12 sound "FX_LNE12" sound "FX_MTRS5" if phase.d0 = 13 sound "FX_LNE13" sound "FX_MTRS5" if phase.d0 = 14 sound "FX_LNE14" sound "FX_MTRS5" if phase.d0 = 15 sound "FX_LNE15" sound "FX_MTRS5" *DBP Added this calculation for precision in formulas *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 set ph.d0 to ph.d0 + 1 sound "FX_LNE01"psol pgvt sound "FX_LOCK"pcmp if goal <= 0 next level xxxx tpf2data s*HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time if level time >= 120 set pf.d7 to 1 endd :minos 24:Ghost set ghost to 1 fldd :images:Multi_24x24.pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 K* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * subtract the t-spin bonus (1 for a t-spin) * in the eliminate phase (1 for a single) * in the eliminate phase (3 for a double) * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 end end end endctrl mino :minos 24:jdrop :minos 24:jlock :minos 24:sdrop :minos 24:slock :minos 24:odrop :minos 24:olock :minos 24:ldrop :minos 24:llock :minos 24:tdrop :minos 24:tlock :minos 24:idrop :minos 24:ilock :minos 24:zdrop :minos 24:zlock Gold :minos 24:fusionfall :minos 24:fusionbase Garbage :minos 24:garbage Solo Blue :minos 24:jlock Solo Green :minos 24:slock Solo Yellow :minos 24:olock Solo Orange :minos 24:llock Solo Cyan :minos 24:tlock Solo Purple :minos 24:ilock Solo Red :minos 24:zlock xtetr xshap tspin1 tspin2 xptrn line clear Fif mino.d0 = 0 kill mino sound "FX_CLR01" else set gravity to 1 disease %pattern "infection" at mino.x, mino.y infection if mino.d1 = 1 mutate mino sound "FX_FUS02" sound "FX_MTRS4" animate "infection" set goal to goal -1 else mutate mino level end * kill mino .* set gravity to 1 * set pf.d0 to 1 next level pf.d6 + 1xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh left right xlvls 0mixed garbage (level) if ((level/2) - (level\2)) = 0 trash "left" else trash "right" *HBR: pf.d6 + 1 is the end level condition * in the "level end" pattern set pf.d6 to level * 2 set goal to pf.d6 *HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time set pf.d7 to 0 )if level >= 15 sound "VO_EXLNT" win endl Level #1 Level #2 Level #3 Level #4 Level #5 Level #6 Level #7 Level #8 Level #9 Level #10 Level #11 Level #12 Level #13 Level #14 Level #15 xevnt 30sec sound "VO_30TIC" 20sec sound "VO_20TIC" 100e 10sec sound "VO_10TIC" 110e 9sec sound "VO_09TIC" 111e 8sec sound "VO_08TIC" 112e 7sec sound "VO_07TIC" 113e 6sec sound "VO_06TIC" 114e 5sec sound "VO_05TIC" 115e 4sec sound "VO_04TIC" 116e 3sec sound "VO_03TIC" 117e 2sec sound "VO_02TIC" 118e 1sec sound "VO_01TIC" 119e Time Up sound "VO_TIME" 120e 60sec sound "TWM_MIDL" Game Start sound "TWM_BGIN" Intro sound "VO_INT01" 3xanim death infection xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal 2*HBR: Check if game time is up if pf.d7 lose 2*HBR: Check if game time is up if pf.d7 lose (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok 2*HBR: Check if game time is up if pf.d7 lose 2*HBR: Check if game time is up if pf.d7 lose ppat set pf.d0 to 0 ptr8 kill mino pf.d0 = 1 mutate mino sound "FX_LOCK" pf.d0 = 1panm pelm 5set phase.d0 to 0 set phase.d0 to phase.d0 + cascades exit *HBR: ph.d0 is the number of lines cleared * play voice for beginner levels * play sound effect if ph.d0 = 1 sound "FX_LNE01" if ph.d0 = 2 sound "FX_LNE01" sound "FX_LNE01" if ph.d0 = 3 sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" if ph.d0 = 4 sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 set phase.d0 to phase.d0 + 1 sound "FX_LNE01" psol pgvt set gravity to 0 sound "FX_LOCK"pcmp *HBR: goal counts down to 0 * under leveltime means next level (win) * over level time means lose (repeat level) if goal <= 0 next level xxxx tpf2data s*HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time if level time >= 120 set pf.d7 to 1 endd :minos 24:Ghost set ghost to 1 fldd :images:Multi_24x24.pict pf.d9 pf.d8pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 K* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" *DBP: Added Henk's new T-spin recongnition system. * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 end end end endctrl mino :minos 24:tdrop :minos 24:tlock :minos 24:sdrop :minos 24:slock :minos 24:zdrop :minos 24:zlock :minos 24:odrop :minos 24:olock :minos 24:ldrop :minos 24:llock :minos 24:jdrop :minos 24:jlock :minos 24:idrop :minos 24:ilock special garbage :minos 24:special garbage2 garbage :minos 24:garbage xtetr xshap tspin1 tspin2 xptrn line clear kill mino sound "FX_CLR01" Critical Mass Blue kill mino sound "FX_MASS1" Critical Mass Cyan kill mino sound "FX_MASS1" Critical Mass Green kill mino sound "FX_MASS1" Critical Mass Red kill mino sound "FX_MASS1" Critical Mass Maroon kill mino sound "FX_MASS1" Critical Mass Yellow kill mino sound "FX_MASS1" Critical Mass Purple kill mino sound "FX_MASS1" 24xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls set pf.d0 to 0 set pf.d8 to 0 set pf.d9 to 5 mixed garbage level set pf.d9 to 0 set pf.d8 to 5 mixed garbage 1 *HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time set pf.d7 to 0 )if level >= 15 sound "VO_EXLNT" win endl Level #1 Level #2 Level #3 Level #4 Level #5 Level #6 Level #7 Level #8 Level #9 Level #10 Level #11 Level #12 Level #13 Level #14 Level #15 xevnt Game Start sound "TWM_BGIN" Game Intro sound "VO_INT02" Time Up sound "VO_TIME" 120e sound "TWM_MIDL" sound "VO_30TIC" sound "VO_20TIC" 100e sound "VO_10TIC" 110e sound "VO_09TIC" 111e sound "VO_08TIC" 112e sound "VO_07TIC" 113e sound "VO_06TIC" 114e sound "VO_05TIC" 115e sound "VO_04TIC" 116e sound "VO_03TIC" 117e sound "VO_02TIC" 118e sound "VO_01TIC" 119xanim death xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal if pf.d7 lose if pf.d7 lose (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok if pf.d7 lose if pf.d7 lose ppat ptr8 panm pelm sound "FX_LNE01"psol .If ph.d7 = 0 sound "FX_MTRS4" next level set ph.d7 to ph.d7+ 1pgvt sound "FX_LOCK"pcmp if cascades = 2 sound "FX_MTRS1" if level < 6 sound "VO_CAS01" end if cascades = 3 sound "FX_MTRS2" if level < 6 sound "VO_CAS02" end if cascades = 4 sound "FX_MTRS3" if level < 6 sound "VO_CAS03" end if cascades = 5 sound "FX_MTRS4" if level < 6 sound "VO_CAS04" end if cascades = 6 sound "FX_MTRS5" if level < 6 sound "VO_CAS05" end if cascades = 7 sound "FX_MTRS6" if level < 6 sound "VO_CAS06" end if cascades > 7 sound "FX_MTRS6" if level < 6 sound "VO_CAS07" end xxxx tpf2data s*HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time if level time >= 120 set pf.d7 to 1 endd :minos 24:Ghost set ghost to 1 fldd :images:hot_line24x24.pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 L* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" *DBP: Added Henk's new T-spin recongnition system. * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * set pf.d4 : the t-spin flag if piece.id = 1 if spin shape "T-spin1" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 else shape "T-spin2" at piece.x, piece.y if result = 1 if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set pf.d4 to 1 end end end endctrl mino :minos 24:jdrop :minos 24:jlock :minos 24:sdrop :minos 24:slock :minos 24:tdrop :minos 24:tlock :minos 24:zdrop :minos 24:zlock :minos 24:odrop :minos 24:olock :minos 24:idrop :minos 24:ilock :minos 24:ldrop :minos 24:llock xtetr xshap tspin1 tspin2 xptrn line clear /kill mino sound "FX_CLR01" set ph.d0 to mino.y *DBP: Took out all reference to score to fit into the new goal based system. if pf.d0 < 2 if ph.d0 = 2 set goal to goal - 6 sound "FX_HTLN6" * sound "FX_MTRS6" else if ph.d0 = 3 set goal to goal - 5 sound "FX_HTLN5" * sound "FX_MTRS5" else if ph.d0 = 5 set goal to goal - 4 sound "FX_HTLN4" * sound "FX_MTRS4" else if ph.d0 = 8 set goal to goal - 3 sound "FX_HTLN3" * sound "FX_MTRS3" else if ph.d0 = 12 set goal to goal - 2 sound "FX_HTLN2" * sound "FX_MTRS2" else if ph.d0 = 17 set goal to goal - 1 sound "FX_HTLN1" * sound "FX_MTRS1" end end end end end end if score >= goal set pf.d0 to 1 end 10xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls 4*DBP: Implemented the new goal based system *HBR: Goal has been reset to count down. * pf.d1 is the level target * goal is the number of points left till level clear set pf.d1 to (5*level) set goal to pf.d1 *HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time set pf.d7 to 0 )if level >= 15 sound "VO_EXLNT" win endl Level #1 Level #2 Level #3 Level #4 Level #5 Level #6 Level #7 Level #8 Level #9 Level #10 Level #11 Level #12 Level #13 Level #14 Level #15 xevnt Hot Line Intro sound "VO_INT03" 60sec sound "TWM_MIDL" 30sec sound "VO_30TIC" 20sec sound "VO_20TIC" 100e 15sec sound "VO_15TIC" 105e 10sec sound "VO_10TIC" 110e 9sec sound "VO_09TIC" 111e 8sec sound "VO_08TIC" 112e 7sec sound "VO_07TIC" 113e 6sec sound "VO_06TIC" 114e 5sec sound "VO_05TIC" 115e 4sec sound "VO_04TIC" 116e 3sec sound "VO_03TIC" 117e 2sec sound "VO_02TIC" 118e 1sec sound "VO_01TIC" 119e Time Up sound "VO_TIME" 120e Game Start sound "TWM_BGIN" 0xanim death xpgen xset pf.d0 to 0 *HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal if pf.d7 lose if pf.d7 lose (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok if pf.d7 lose if pf.d7 lose ppat ptr8 if pf.d0 = 1 set pf.d0 to 2 mutate mino sound "FX_LOCK" pf.d0 = 1 panm pelm r*HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 sound "FX_LNE01"psol pgvt sound "FX_LOCK"pcmp *HBR: goal counts down to 0 * under leveltime means next level (win) * over level time means lose (repeat level) if goal <= 0 next level xxxx tpf2data *HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time if level time >= 120 set pf.d7 to 1 *** Old scripting from HBR *** * Time Events: Level Second * if level time >= 3 & player.d0 = 115 * sound "VO_INT01" * set player.d0 to 60 * end * if level time >= 60 & player.d0 = 60 * sound "TWM_MIDL" * set player.d0 to 30 * end * if level time >= 90 & player.d0 = 30 * sound "VO_30TIC" * set player.d0 to 20 * end * if level time >= 100 & player.d0 = 20 * sound "VO_20TIC" * set player.d0 to 10 * end * if level time >= 110 & player.d0 = 10 * sound "VO_10TIC" * set player.d0 to 9 * end * if level time >= 111 & player.d0 = 9 * sound "VO_09TIC" * set player.d0 to 8 * end * if level time >= 112 & player.d0 = 8 * sound "VO_08TIC" * set player.d0 to 7 * end * if level time >= 113 & player.d0 = 7 * sound "VO_07TIC" * set player.d0 to 6 * end * if level time >= 114 & player.d0 = 6 * sound "VO_06TIC" * set player.d0 to 5 * end * if level time >= 115 & player.d0 = 5 * sound "VO_05TIC" * set player.d0 to 4 * end * if level time >= 116 & player.d0 = 4 * sound "VO_04TIC" * set player.d0 to 3 * end * if level time >= 117 & player.d0 = 3 * sound "VO_03TIC" * set player.d0 to 2 * end * if level time >= 118 & player.d0 = 2 * sound "VO_02TIC" * set player.d0 to 1 * end * if level time >= 119 & player.d0 = 1 * sound "VO_01TIC" * set player.d0 to 0 * end * if level time >= 120 * sound "VO_TIME" * lose * endd :minos 24:Ghost set ghost to 1 fldd :images:Squaretris(24x24).pict 0pcev sound "FX_FALL" sound "FX_UNMVE" sound "FX_RTA01" sound "FX_LND01" sound "FX_FALL" sound "FX_FALL" sound "FX_HRDDP" *HBR: pf.d2 is the "lock" sound flag * pf.d2 = 1 means play lock sound * pf.d2 = 0 means don't play lock sound set pf.d2 to 0 L* HBR: if pf.d2 = 0 don't play "land" sound if pf.d2 sound "FX_LND01" * HBR: if pf.d2 = 1 play "lock" sound if pf.d2 sound "FX_LCK01" *HBR: piece.id : 1 is the "T" Tetramino * spin : check if the "T" was just spun * shape : check for surrounding blocks * play voice if level < 6 * else play sound effect * subtract the t-spin bonus (1 for a t-spin) * in the eliminate phase (1 for a single) * in the eliminate phase (3 for a double) * set pf.d4 : the t-spin flag if piece.id = 7 if spin shape "T-spin 1" at piece.x, piece.y if result = 1 * If you want t-spins to only work if facing up and down * script will be "if piece.dir = 0 | piece.dir = 2". * jkm - selective destruction - begin if piece.dir = 3 pattern "t-spin top" at piece.x,piece.y-1 pattern "t-spin bottom" at piece.x,piece.y else pattern "t-spin top" at piece.x,piece.y pattern "t-spin bottom" at piece.x,piece.y+1 end * jkm - selective destruction - end if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 else shape "T-spin 2" at piece.x, piece.y if result = 1 * If you want t-spins to only work if facing up and down * script will be "if piece.dir = 0 | piece.dir = 2". * jkm - selective destruction - begin if piece.dir = 3 pattern "t-spin top" at piece.x,piece.y-1 pattern "t-spin bottom" at piece.x,piece.y else pattern "t-spin top" at piece.x,piece.y pattern "t-spin bottom" at piece.x,piece.y+1 end * jkm - selective destruction - end if level < 6 sound "VO_TSPIN" else sound "FX_RWD01" end set goal to goal -1 set pf.d4 to 1 end end end ctrl mino J color :minos 24:jdrop :minos 24:jlock L color :minos 24:ldrop :minos 24:llock S color :minos 24:sdrop :minos 24:slock Z color :minos 24:zdrop :minos 24:zlock O color :minos 24:odrop :minos 24:olock T color :minos 24:tdrop :minos 24:tlock I color :minos 24:idrop :minos 24:ilock Pure Square :minos 24:Pure Square.pict Combo Square :minos 24:Combo Square.pict Result J color :minos 24:jdrop :minos 24:jlock Result L color :minos 24:ldrop :minos 24:llock Result S color :minos 24:sdrop :minos 24:slock Result Z color :minos 24:zdrop :minos 24:zlock Result O color :minos 24:odrop :minos 24:olock Result T color :minos 24:tdrop :minos 24:tlock Result I color :minos 24:idrop :minos 24:ilock Result Pure Square :minos 24:Pure Square.pict Result Combo Square :minos 24:Combo Square.pict xtetr J Tetrimino I Tetrimino O Tetrimino S Tetrimino L Tetrimino Z Tetrimino T Tetrimino xshap Perfect Square T-spin 1 T-spin 2 Spin S 1 Spin S 2 Spin Z 1 Spin Z 2 xptrn t-spin top sound "FX_RWD02" set pl.d4 to 0 set pl.d5 to mino.y t-spin bottom !sound "FX_RWD01" set pl.d5 to 21 &if pl.d4 = -1 set pl.d4 to mino.y J Square * When a perfet square is created using 4 "J" Tetriminos, the "J" Teriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" I Square * When a perfet square is created using 4 "I" Tetriminos, the "I" Teriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" O Square * When a perfet square is created using 4 "O" Tetriminos, the "O" Tetriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" T Square * When a perfet square is created using 4 "T" Tetriminos, the "T" Teriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" L Square * When a perfet square is created using 4 "L" Tetriminos, the "L" Teriminos will be replaced/transformed with/to the "Pure Square" mino set. set mino to "Pure Square" animate "Pure & Combo" solidify sound "FX_GOLDF" Combo Square 2set mino to "Combo Square" animate "Pure & Combo" solidify sound "FX_SLVRF" Line clear r*Adding the points from the mino.d9 to the bonus points set pf.d0 to pf.d0 + mino.d9 kill mino sound "FX_CLR01" 10xseqs xsnds FX_BMP01 :sounds 7/18:FX_BMP01.WAVs FX_BMP02 :sounds 7/18:FX_BMP02.WAVs FX_BMP03 :sounds 7/18:FX_BMP03.WAVs FX_CAS01 :sounds 7/18:FX_CAS01.WAVs FX_CLR01 :sounds 7/18:FX_CLR01.wavs FX_FALL :sounds 7/18:FX_FALL.WAVs FX_FALL1 :sounds 7/18:FX_FALL1.wavs FX_FALL2 :sounds 7/18:FX_FALL2.wavs FX_FALL3 :sounds 7/18:FX_FALL3.WAVs FX_FALL4 :sounds 7/18:FX_FALL4.WAVs FX_FUS01 :sounds 7/18:FX_FUS01.wavs FX_FUS02 :sounds 7/18:FX_FUS02.wavs FX_FUS03 :sounds 7/18:FX_FUS03.WAVs FX_GOLDF :sounds 7/18:FX_GOLDF.WAVs FX_HRDDP :sounds 7/18:FX_HRDDP.WAVs FX_HTLN0 :sounds 7/18:FX_HTLN0.WAVs FX_HTLN1 :sounds 7/18:FX_HTLN1.WAVs FX_HTLN2 :sounds 7/18:FX_HTLN2.WAVs FX_HTLN3 :sounds 7/18:FX_HTLN3.wavs FX_HTLN4 :sounds 7/18:FX_HTLN4.WAVs FX_HTLN5 :sounds 7/18:FX_HTLN5.WAVs FX_HTLN6 :sounds 7/18:FX_HTLN6.wavs FX_HTLNE :sounds 7/18:FX_HTLNE.wavs FX_LCK01 :sounds 7/18:FX_LCK01.wavs FX_LCK02 :sounds 7/18:FX_LCK02.wavs FX_LCK03 :sounds 7/18:FX_LCK03.wavs FX_LCK04 :sounds 7/18:FX_LCK04.wavs FX_LCK05 :sounds 7/18:FX_LCK05.wavs FX_LND01 :sounds 7/18:FX_LND01.wavs FX_LND02 :sounds 7/18:FX_LND02.wavs FX_LND03 :sounds 7/18:FX_LND03.WAVs FX_LNE01 :sounds 7/18:FX_LNE01.WAVs FX_LNE02 :sounds 7/18:FX_LNE02.WAVs FX_LNE03 :sounds 7/18:FX_LNE03.WAVs FX_LNE04 :sounds 7/18:FX_LNE04.WAVs FX_LNE05 :sounds 7/18:FX_LNE05.wavs FX_LNE06 :sounds 7/18:FX_LNE06.wavs FX_LNE07 :sounds 7/18:FX_LNE07.wavs FX_LNE08 :sounds 7/18:FX_LNE08.wavs FX_LNE09 :sounds 7/18:FX_LNE09.wavs FX_LNE10 :sounds 7/18:FX_LNE10.wavs FX_LNE11 :sounds 7/18:FX_LNE11.wavs FX_LNE12 :sounds 7/18:FX_LNE12.wavs FX_LNE13 :sounds 7/18:FX_LNE13.wavs FX_LNE14 :sounds 7/18:FX_LNE14.wavs FX_LNE15 :sounds 7/18:FX_LNE15.wavs FX_LOCK :sounds 7/18:FX_LOCK.WAVs FX_MASS1 :sounds 7/18:FX_MASS1.wavs FX_MTRIS :sounds 7/18:FX_MTRIS.wavs FX_MTRIS01 :sounds 7/18:FX_MTRIS01.wavs FX_MTRS1 :sounds 7/18:FX_MTRS1.WAVs FX_MTRS2 :sounds 7/18:FX_MTRS2.WAVs FX_MTRS3 :sounds 7/18:FX_MTRS3.WAVs FX_MTRS4 :sounds 7/18:FX_MTRS4.WAVs FX_MTRS5 :sounds 7/18:FX_MTRS5.WAVs FX_MTRS6 :sounds 7/18:FX_MTRS6.WAVs FX_MUT01 :sounds 7/18:FX_MUT01.WAVs FX_RTA01 :sounds 7/18:FX_RTA01.wavs FX_RTATL :sounds 7/18:FX_RTATL.WAVs FX_RTATR :sounds 7/18:FX_RTATR.WAVs FX_RWD01 :sounds 7/18:FX_RWD01.wavs FX_RWD02 :sounds 7/18:FX_RWD02.wavs FX_SFTDP :sounds 7/18:FX_SFTDP.WAVs FX_SLDEL :sounds 7/18:FX_SLDEL.wavs FX_SLVRF :sounds 7/18:FX_SLVRF.WAVs FX_UNMVE :sounds 7/18:FX_UNMVE.WAVs TWM_BGIN :sounds 7/18:TWM_BGIN.WAVs TWM_END :sounds 7/18:TWM_END.WAVs TWM_MIDL :sounds 7/18:TWM_MIDL.WAVs VO_01TIC :sounds 7/18:VO_01TIC.WAVs VO_02TIC :sounds 7/18:VO_02TIC.WAVs VO_03TIC :sounds 7/18:VO_03TIC.WAVs VO_04TIC :sounds 7/18:VO_04TIC.WAVs VO_05TIC :sounds 7/18:VO_05TIC.WAVs VO_06TIC :sounds 7/18:VO_06TIC.WAVs VO_07TIC :sounds 7/18:VO_07TIC.WAVs VO_08TIC :sounds 7/18:VO_08TIC.WAVs VO_09TIC :sounds 7/18:VO_09TIC.WAVs VO_10TIC :sounds 7/18:VO_10TIC.WAVs VO_15TIC :sounds 7/18:VO_15TIC.WAVs VO_20TIC :sounds 7/18:VO_20TIC.wavs VO_30TIC :sounds 7/18:VO_30TIC.WAVs VO_CAS01 :sounds 7/18:VO_CAS01.wavs VO_CAS02 :sounds 7/18:VO_CAS02.wavs VO_CAS03 :sounds 7/18:VO_CAS03.wavs VO_CAS04 :sounds 7/18:VO_CAS04.wavs VO_CAS05 :sounds 7/18:VO_CAS05.wavs VO_CAS06 :sounds 7/18:VO_CAS06.wavs VO_CAS07 :sounds 7/18:VO_CAS07.wavs VO_CAS08 :sounds 7/18:VO_CAS08.wavs VO_CAS09 :sounds 7/18:VO_CAS09.wavs VO_CAS10 :sounds 7/18:VO_CAS10.wavs VO_CAS11 :sounds 7/18:VO_CAS11.wavs VO_CAS12 :sounds 7/18:VO_CAS12.wavs VO_CAS13 :sounds 7/18:VO_CAS13.wavs VO_CAS14 :sounds 7/18:VO_CAS14.wavs VO_CAS15 :sounds 7/18:VO_CAS15.wavs VO_EXLNT :sounds 7/18:VO_EXLNT.wavs VO_GREAT :sounds 7/18:VO_GREAT.wavs VO_HTLN1 :sounds 7/18:VO_HTLN1.WAVs VO_HTLN2 :sounds 7/18:VO_HTLN2.WAVs VO_HTLN3 :sounds 7/18:VO_HTLN3.WAVs VO_HTLN4 :sounds 7/18:VO_HTLN4.WAVs VO_HTLN5 :sounds 7/18:VO_HTLN5.WAVs VO_HTLN6 :sounds 7/18:VO_HTLN6.WAVs VO_HTLNE :sounds 7/18:VO_HTLNE.wavs VO_INT01 :sounds 7/18:VO_INT01.wavs VO_INT02 :sounds 7/18:VO_INT02.wavs VO_INT03 :sounds 7/18:VO_INT03.wavs VO_LINE01 :sounds 7/18:VO_LINE01.wavs VO_LINE02 :sounds 7/18:VO_LINE02.wavs VO_LINE03 :sounds 7/18:VO_LINE03.wavs VO_TETRS :sounds 7/18:VO_TETRS.wavs VO_TIME :sounds 7/18:VO_TIME.wavs VO_TSPIN :sounds 7/18:VO_TSPIN.wavxsong xtrsh xlvls 8*HBR: pf.d3=1 the last line clear was a "tetris" * pf.d3=0 the last line clear was not set pf.d3 to 0 *HBR: goal is set * game subtracts from the goal * if the goal <= 0 then level up set goal to (10*level) *HBR: pf.d7=1 your 2:00 game time is up * pf.d7=0 you still have time set pf.d7 to 0 if level >= 15 win endl Level #1 Level #2 Level #3 Level #4 Level #5 Level #6 Level #7 Level #8 Level #9 Level #10 Level #11 Level #12 Level #13 Level #14 Level #15 xevnt 60 seconds sound "TWM_MIDL" 30 seconds sound "VO_30TIC" 20 seconds sound "VO_20TIC" 100e 10 seconds sound "VO_10TIC" 110e 9 seconds sound "VO_09TIC" 111e 8 seconds sound "VO_08TIC" 112e 7 seconds sound "VO_07TIC" 113e 6 seconds sound "VO_06TIC" 114e 5 seconds sound "VO_05TIC" 115e 4 seconds sound "VO_04TIC" 116e 3 seoncds sound "VO_03TIC" 117e 2 seconds sound "VO_02TIC" 118e 1 second sound "VO_01TIC" 119e Time up sound "count" 120e Game Start sound "TWM_BGIN" Intro sound "VO_INT01" 3xanim Death Pure & Combo xpgen h*HBR: pf.d2 = 1 means play "lock" sound set pf.d2 to 1 *HBR: pf.d4 = 0 means no t-spin set pf.d4 to 0 $((.8-((level-1)*.007))^(level-1))/20 pfal if pf.d7 lose if pf.d7 lose (.8-((level-1)*.007))^(level-1)$((.8-((level-1)*.007))^(level-1))/20 0.0001plok if pf.d7 lose if pf.d7 lose ppat * jkm - selective destruction - begin * clear the pl.d4 & pl.d5 set pl.d4 to -1 set pl.d5 to -1 * jkm - selective destruction - end ptr8 X* ESP - This turns the gravity on. if pl.d4 != -1 set gravity to 1 set pl.d6 to 0 * jkm - selective destruction - begin if mino.y > pl.d5 exit if mino.y < pl.d4 exit * jkm - selective destruction - end * ESP - This will change all the original minos to the mutate minos assigned. mutate mino sound "FX_LOCK" pl.d4 != -1 panm pelm *HBR: ph.d0 is the number of lines cleared * play voice for beginner levels * play sound effect * subtract the t-spin bonus (1 for a single) * (3 for a double) * subtract points from goal * send attack if ph.d0 = 1 if level < 6 sound "VO_LINE01" end if pf.d4 set goal to goal - 1 end sound "FX_LNE01" sound "FX_MTRS1" set goal to goal -1 if ph.d0 = 2 if level < 6 sound "VO_LINE02" end if pf.d4 set goal to goal - 3 end sound "FX_LNE01" sound "FX_LNE01" sound "FX_MTRS2" set goal to goal -3 if ph.d0 = 3 if level < 6 sound "VO_LINE03" end sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_MTRS3" set goal to goal -5 if ph.d0 >= 4 send "Attack3" if level < 11 sound "VO_TETRS" end sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_LNE01" sound "FX_MTRS4" set goal to goal -8 *HBR: Sometimes the goal falls below 0 briefly * this makes sure it does not if goal < 0 set goal to 0 L*JR- add 1 point to ph.d0 to count each line clear set ph.d0 to ph.d0 + 1 _*ESP - Adding the Pure/Combo square bonus to the score. set goal to goal - pf.d0 set pf.d0 to 0 sound "FX_LNE01"psol pgvt T* ESP - After the T-spin is triggered, this turns the gravity off. set gravity to 0 sound "FX_LOCK"pcmp *HBR: goal counts down to 0 * under leveltime means next level (win) * over level time means lose (repeat level) if goal <= 0 next level
Regional Differences
Text Differences
Rules for Ultra Connect Rules for Ultra Hotline Rules for Ultra Square
These placeholder texts for Ultra mode games are only present in the Japanese version, which uses the same introduction texts for both Marathon and Ultra modes. The international versions have separate instructions for each mode.
Graphical Differences
The US version is noticeably less polished than the Europe and Japan versions, with the piece graphics not having the 3D effect they have in the other versions, and a complete lack of a hold box graphic. The hidden Popular mode is especially bad, not even having a proper background.
The Japanese version darkens the background behind the game elements, while the other versions choose to lighten the background.
Mode | US | Europe | Japan |
---|---|---|---|
Tetris | ![]() |
![]() |
![]() |
Sticky | ![]() |
![]() |
![]() |
Fusion | ![]() |
![]() |
![]() |
Hotline | ![]() |
![]() |
![]() |
Square | ![]() |
![]() |
![]() |
Cascade | ![]() |
![]() |
![]() |
Popular | ![]() |
![]() |
![]() |
- Pages missing developer references
- Games developed by 3d6 Games
- Pages missing publisher references
- Games published by THQ
- Game Boy Advance games
- Pages missing date references
- Games released in 2001
- Games released in September
- Games released on September 5
- Games released in December
- Games released on December 7
- Games with hidden development-related text
- Games with unused text
- Games with regional differences
- Tetris series
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with regional differences
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by 3d6 Games
Games > Games by platform > Game Boy Advance games
Games > Games by publisher > Games published by THQ Nordic > Games published by THQ
Games > Games by release date > Games released in 2001
Games > Games by release date > Games released in December
Games > Games by release date > Games released in December > Games released on December 7
Games > Games by release date > Games released in September
Games > Games by release date > Games released in September > Games released on September 5
Games > Games by series > Tetris series