0000LLLmmmH 4 DmDuu 02TvͫgE#2Tv2Tv@    92#@0@#2@#20@P``  PUPUUUUPUQQ   UUڥZUUZ P @@00  @R%w$DR&B TbE$U%DB$R%BgR$@'VB$""""00@P@@0P!C4!C4!C42#2#!C4!C4!C4"!"3#23D4CDD4CD3#23"!"!43"A1111!""3CA0"0"A"3C"!111A143"!#4EVVE4#CeV42TE#CeV402@CPT`e`ePT@C02CeV42TE#CeV4 0  01@@  `1  @P@`` !"" 00!C4 @0!33 !0@C4@0@C4  2Af3A1CQ4!D31A#1VA2E1CeV42TE#CeV4CeV42TE#CeV4#024@CEPTV`eV`eEPT4@C#0222222222""DD$B"""" 330333#"3""0%R3"") 3C43111AA111!""!BD 23"33C"39C"9C!934#"""""""""2C"0@"0@"0@"0@"0@"0@"0@BU3C3C3C3SU1CT11QQQE4   1CT11AAQE4  1CT11AAQE4 !01@"@"!!`1 1""@P@`` *              3C43  DD@4#@0@#"0"" """""""4#""0@"0@"0@"0@"0@"0@"0@"2C1aQ11QA1QQ Q 111SU U5QAA1 11CT  E4QAA 111CT E4!"2!"20#"0#" "" ""  300#0            32""!""!33!0!33!"""!!AD!AD!!!""!""` 33332#"" """"!!332ff#!`!ff2`#!33!!0 00 !01CT11AAQE4   3*D2D)3D"3D"3D 3D D#D3D3"D3"!"""!""2#""33"233#333311111111111111131111331333331333313333333!!AD!AD!!!""!""E#2TD#2D3!3""""3!3D#2DE#2T"3D"3D"3D"3"3"3D"3D"3DD3"D3"D3"3"3"D3"D3"D3""3"3"3D"D"L"D3"L3"D3"<"<D,"D<"QAA1 11CT   E4111111111111111311111111111111111113111111111111A!A!11!A!A11A!A!11!A!A11!!C"43CD4D3C3A#!!BD34D3333"3!2C !2C 2CD3DU"3U"3D"3D3"4#4#D4#UD3U3"D3"D3"    33111#3111131#3321#2b!b&"QR!bQ"!2&"b&`P%P&0"#$A!!A!$!BAA!D!B"!!!$D""$BD!"B$$!ABD!$"B$! "! "! "!"  !" ! "  "! "!!!2"!"!!!0#"!!" !!!"DA!"!A"D!!"A$D"B$A$A$$"BA"BB!"D$A""$$"!!B""$$"!D$A"A!    4@@@@@"  @  ppVV  'p "" 33 C4 C4 33"" "" UU eV eV UU""@0@#2@#20@P` @!0@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@!@! 0@#P4P4@#0 /@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee88888888888777777777777777777777777777777''''''''''''''''''''''''''''''222222222222222222222222222222''''''''''' eehiee '''''''''''PQPQPQPQPQPQPQPQPQPQPQPQPQPQPQ "''''#4 eee88888888888877&)))))))))))))))))))(222222222222222222222222222222&rs(@A@A &....(33333333333344 e!ee8887777777777777777777777777777&)))))))))))))))))))))))(2_______88882&77777 rs (PQ5555555PQ &....(3333333444 e!!!ee887777&)))))))))(2__882&7777 !!tu!! 77777777(@A555555555@A %))))$33333444 e!!ee877777777777777777777777777&'''''''''''(2____=! !>82&7 rs 7(PQ555PQ 4**0*333333333344 e!!!ee)88877&)))))))))))))(2_____(3773&88882&77777777777(@A5222222@A 4*+-,322222233344 e !!!!ee48 88888888888888888888888888&)))))))))))))))))))(2__(3773&8882&7 rs (PQ555222222225PQ 4*/442222222233334 !!!!!!!!!e48888e888&)))))))))))))))))))))))(2______(38cccc83&882&777777 !!tu!! 777777777(@A222222225@A 4*44422222222444 11111111111RRccccccccccce488888e888888888888888888888888&'''''''''''fg''''''''''(2__(388dd883&8882&7 rs 7(PQ522222222555555PQ 4*444222222223333444 66666666666RRddddddddddde4888888 e8888888888888888888&)))))))))))vw))))))))))(2___(3&8888(3&8882&7777777(@A52222225@A 44222222444 66666666666RRddddddddddde488888888888888888888888&))))(2____(3&(3&882&7 rs 777(PQ55555PQ 3333333334 66666666666RRddddddddddde4 R 2222222____________________&))))))))))))))))))))))(2____()&()&8882&777777 !!tu!! 7777777(@A5555555555@A 443333333333344 66666666666RRdddddddddddRRRRRRRR 222222222_____________&''''''''''''''''''''''(2____888882&77 rs 7(PQPQ 44444444444444444 66666666666RRdddddddddddRRRRRRRR 22222222222_________________&))))))))))))))))))))))(2___8882&777777777(@A@A 44444 66666666666RRddddddddddd6666666611111__222222RRRRRRR___________&)))))))(2____88882&7777 77(PQPQ 4444444 66666666666RRddddddddddd6666666666666882222RRRRRRRRR5555555&))))))))))))))))))))))))))(2_888888882&  7(11@A@A@A@A@A@A@A@A@A@A@A@A@A11!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!66666666666RRR22RRRddddddddddd6666666666666777722RRRRRRRRRRR555555555555555555555555555555))))))))))))))))))))))))))))))22222222222222222222222222222277777777777 555555 77777777777______________________________888888888888888888888888888888777777777777777777777777777777..............................999999999999999999999999999999 !!!!!!!!!!!!! !!!!!!!!!!!!! 888888888888888888888888888888 !!!!!!!!!!!!! !!!!!!!!!!!!! __88777777777777777777777777777777..999999999999999999999999999999 "@A@A<<<<<<<#bb !! <<<#*0*"# 8 4!!!!!!!!!!!!!!!!!!!!!!!!4 8 "@A@A<<<<<<<#bb !! <<<#*0*"# _________________8888877N777. .999999999999999999999999999999 = 8 __________________________ 8 = ________8888888888887777777777777777777.R.9999999999999999999 "#*<*"ST<<<<#bb WX =Z:\>= 8 4!!!!!!!!!!!!!!!!!!!!!!!!4 8 "#*<*"ST<<<<#bb WX =>= _______8888888888888887777777777.RRR.99999 >=I;J>= !! NO=Y>= 888888888888888888888888888888 >=>= !! O=>= ____________88888888887777777777777777.RRRRR.9999999999999999 >=?>=bb"#"<33M$[>= __ >=>=bb"#"<33M$>= _____________8888888888888777777777.RRRR RR.9999999999 >=K>]= >=>]>= _````````````````````_ >=>]= >=>]>= _________8888888888877777O7777.RRRRRR.99999999999999999 >=L>^=bb>=>^>= __ >=>p=bb>=>^>= _________888888888888 877a7.RRRRRRR.99999992''''''''''''''''''''''''''''2_````````````````````_@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A___________88888777777777777.RRRRR R.9999999999999&(__PQPQPQPQPQPQPQPQPQPQPQPQPQPQPQ________88888888888888888888877777RR7.R RRRRR.999999&2222222222222222(_````````````````````_&(_______________ ___888887177711117111RR11117177111117.RRRRRR R.9999999999999&222222(__&2222222222(__________8888888888888888888888876666667677777R77776667677667.RRR.9999999999&2222222222(_````````````````````_&222222(________8888888888887666777766666R766666677677667.RR.99999999999999&222222(__&22(__8876777677777777777767777667667.RR.99&22222222222222(__&2222222222222222(__887666666666666RR6666666666667. R R!.99&(__&(______________________________888888888888888888888888888888777777777777777777777777777777.........................!....9999999999999999999999999999992)))))))))))))@A)))))))))))))2______________________________2)))))))))))))@A)))))))))))))2RRRRRRRRRReeeeeeeeeeRRRRRRRRRRjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj111111111111111111111111111111}hi{222222222222222222222222222222kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkRRRRRRRRRRRRRRRRRRRRjj666666666666666666666666666666}rs{222kkRRRRRRRRRRRRRRRRRRRRjjjjjjjjjjjjjjjjjjjjjj666666666666666666666666666666}tu{!!22kkRRRmnoRRRRkkkkRRRRRRRRRRjjjjjjjjjjjjje~~~~~e}rs{rs222222222222+O,+0,I-JkkRReeeeeRRRlkRRRRRRRRRRjjjjjjjjjje~~~~~e}rs{tu222222222222222222//YkkRReleeeRRRlRRRRRRRRRRjjjjjjjjjjjjjjje~~~~~e}tu{rs222[ZN,KLkkRRelleeRRRlRRRRRRRRRRjjjjjjjjjjjjje~~~~e99}rs{22Zb\Y[kkRReeleeRRRlRRRRRRRRRRjjjjjjjjjjjje~~~~~e99}rs{]]222222222222YkkRReeeeeRRRRRRRRRRRRRjjjjjjjjjjje~~~~~~~~e9999999}tu{jjppj2222222LZ \kkRRRRRRRRRRjjlRRRRRRRRRRjjjjjjjjjjjjjjje~~~~~~~e||qqrsjjj2222222222222222222222/kkRRRRRRRRRRjjllRRRRRRRRRRjjjjjjjjjje~~~~~~~e|qq2222KNkkRRRRRRRRRRklRRRRRRRRRRjjjjjjjjjjjjjjje~~~~~~~eqqjjjjjjjjj2227[7kkRRRRRRRRRRkklRRRRRRRRRRjjjjjjjjje~~~~~~~~eqq222222222222222227777kkRRRRRRRRRRkkjjklRRRRRRRRRRjjjjjjjjjjje~~~~~ers2222222777]777kkRRRRRRRRRRjjkjjjlRRRRRRRRRRjjjjjjjjjjjjjjjjjjjjjje~~~~~eqqtu222227777p7777kkRRRRRRRRRRjjkjjjlRRRRRRRRRRjje~~~eqqqqrs222222kkRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj1111111111111____1111111111111222222222222222222222222222222kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk >?!C4!C4!C4!C4!C4"!""!""!""!""!""!""!""!""!""!""!""!""!"!C4!C4"!""!""!""!""!""!""!""!""!""!""!""!""!"!C4!C43#233#233#233#233#233#233#233#233#233#233#233#233#23!C4!C43#233#233#233#233#233#233#233#233#233#233#233#233#23!C42#D4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CD2#2#D4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CD2#2#D4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CD2#2#D4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CDD4CD2#!C43#233#233#233#233#233#233#233#233#233#233#233#233#23!C4!C43#233#233#233#233#233#233#233#233#233#233#233#233#23!C4!C4"!""!""!""!""!""!""!""!""!""!""!""!""!"!C4!C4"!""!""!""!""!""!""!""!""!""!""!""!""!"!C4!C4!C4!C4!C4!C4!4#""2C4#""2C!!!C4!C4!!C4!C443"""0@""0@3C433C433C433C433C433C433C43"3C!33!33!C4"!""!"!C43C433C433C43"3C43""3C!C4!C4A1""0@""0@A2ff#2ff#!C43#233#23!C4A  A1A!C42#1""0@""0@!`!`2#D4CDD4CD2#0 012#2#1""0@""0@!ff!ff2#D4CDD4CD2#  12#!C41""0@""0@2`#2`#!C43#233#23!C4  1!C4!C4!""0@""0@!33!33!C4"!""!"!C4!!C4!C4"""0@""0@0"!!!C4!C40"00"0"!C4!C4""0@""0@!C4!C4!C4!C41!C4!C43C43""0@""0@3C431CTE43C433C433C433C433C43!C4!C4!C41CTE4!C4!""1!C4!C4""0@""0@!C4!C4!C4!C4 00  1!C42#""0@""0@12#2#2#1 2#!C400A2#2#""0@""0@12#2#2#12# @0  A2#!C4""0@""0@Q !C4!C4!C4A!C4!33  1!C4!C4""0@""0@Q !C4!C4!C4A!C4 1!C4!C44#""2C4#""2CQ !C4!C4!C4Q!C4001!C4!C4!!Q!!!C4Q!C43 31!C4!C443""3C3C4343"Q 3C433C433C433C43C!33!33!C4A !C400#21!C4!C4A1A  A1Q A2ff#2ff#!C4A !C40 ""1!C42#10011 !`!`2#12# DDA2#2#1  11 !ff!ff2#12#$BA2#!C41  1 2`#2`#!C4!C4""1!C4!C4!!1SUU5!33!33!C41CTE4!C4""1!C4!C4"0"00"0"!!!C4!C4 1!C4!C41!3311!C4!C4!C4!C4!"21!C4!C4101033 11!C4!C4!C4"!""!"!C4DD!"21!C4!C41@"3#""1!C4!C4!C43#233#23!C4@4#0#"1!C42#A@"3"""A2#2#2#D4CDD4CD2#@00#"A2#2#A!0%R3@PA2#2#2#D4CDD4CD2# @#" ""A2#!C41!""@`1!C4!C4!C43#233#23!C40""1!C4!C41)`1!C4!C4!C4"!""!"!C4   ""1!C4!C41` 1!C4!C4!C4!C4  1!C4!C41!""1!!!!CeV4CeV40"  1!C4!C41!BD1!33!3343""3C43"3C432TE#2TE#  1!C4!C410"312ff#2ff#A1AA1CeV4CeV4  1!C42#A#""BA!`!`11  A2#2#A#")BA!ff!ff11  A2#!C41#)B12`#2`#11CeV4CeV4A1!C4!C41!)21!33!33!!2TE#2TE#3C43"3C1!C4!C411!!"0""CeV4CeV41!C4!C41 *1!C4!C4111!C4!C41 1""!C4!C411""1!C4!C41 1!""!C4!C411!""1!C42#A A!332#2#AA!33A2#2#A  A!02#2#AA!0A2#!C41  1!33!C4!C411!331!C4!C41  1!""!C4!C411!""1!C4!C41  1"!C4!C411"1!C4!C41  1!!!11!1!C4!C41 1!!33!3311!1!C4!C411AD!2ff#2ff#11AD!1!C42#AAAD!!`!`AAAD!A2#2#AA!!ff!ffAA!A2#!C411!""2`#2`#11!""1!C4!C411!""!33!3311!""1!C4!C411!!111!C42AfCeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV42Af3A2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#3A1CQCeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV41CQ4!D4!D3131A#1A#1VA2VA2E1$BE1#$B024$B@CE$BPTV`eV`eEPT4@C#02#2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af0243A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A@CE1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQPTV4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D`eV31313131313131313131313131313131`eEA#1A#1A#1A#1A#1A#1A#1A#1A#1A#1A#1A#1A#1A#1A#1A#1PT4VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2@C#E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E102#2Af2Af2Af2Af2Af2Af0243A3A3A3A3A3A@CE1CQ1CQ1CQ1CQ1CQ1CQPTV4!D4!D4!D4!D4!D4!D`eV313131313131`eEA#1A#1A#1A#1A#1A#1PT4VA2VA2VA2VA2VA2VA2@C#E1E1E1E1E1E102#2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af0243A3A3A3A3A3A3A3A3A3A@CE1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQPTV4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D`eV31313131313131313131`eEA#1A#1A#1A#1A#1A#1A#1A#1A#1A#1PT4VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2@C#E1E1E1E1E1E1E1E1E1E102#2Af2Af2Af2Af2Af2Af0243A3A3A3A3A3A@CE1CQ1CQ1CQ1CQ1CQ1CQPTV4!D4!D4!D4!D4!D4!D`eV313131313131`eEA#1A#1A#1A#1A#1A#1PT4VA2VA2VA2VA2VA2VA2@C#E1@E1E1E1E1E102#2Af02Af2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af2Af0243A@#23A3A3A3A3A3A3A3A3A3A3A3A3A@CE1CQ@#21CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQ1CQPTV4!D04!DD@4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D4!D`eV31@3130313131313131313131313131`eEA#1PA#14"C@#2A#1A#1A#1A#1A#1A#1A#1A#1A#1A#1A#1A#1DPT4VA2`VA24"C@#2VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2VA2VA23@C#E1E130E1E1E1E1E1E1E1E1E1E1E1E14"C02#D@ 4"C024UP 3@CEf`DPTVU`eVf`eEPT4@C# 92#022Af 4#""2C2Af3A""0@3A1CQ""0@1CQ4!D""0@4!D31""0@31A#1CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4""0@CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4A#1VA22TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#""0@2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#2TE#VA2E1CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4""0@CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4CeV4E1+-- title: Wall Walkers 2 -- author: xXx_Bobby Cage_xXx -- desc: Wall Walkers sequel! -- site: WIP -- license: MIT License (change this to your license of choice) -- version: 0.1 -- script: lua --palette: https://lospec.com/palette-list/hways-16 settings={ new_lifes=2, pointer=1, player=1, level=1} level_names={"TRAINING GROUND","CORPSE CAGE", "FLAGS ABOVE SEAS","FIGHT PLACE", "MAZE OF BRICKS","GAMEDESIGN TRAP", "MNT. DEW","JUICY NUKE", "TOWN","LIZARD TEMPLE", "WATER SHRINE","TREES", "GAMEOVER","AD REFERENCE?!", "POTATO FARM","MICROCASTLE'S TRAP", "TETRIS LAND","REDLAND", "BLOOD RAIN","LAUNCH ROOM", "WHO THE #%*? MADE THIS??1!?","DUNGEON SLAVE", "CAT'S HOUSE","GREENLAND"} timer=0 --global timer ltimer=0 --level timer ltimer_color_dir=1 --used for timer text animation ltimer_color=2 ltimer_difficulty=5 loop=0 loop2=0 screen=0 cells_shift_x=0 cells_shift_y=0 --119 up_keys={0,8,16,24} down_keys={1,9,17,25} left_keys={2,10,18,26} right_keys={3,11,19,27} a_keys={4,12,20,28} b_keys={5,13,21,29} x_keys={6,14,22,30} y_keys={7,15,23,31} nuke={ set=0, x=0, y=0, dy=0, --destination y timer=360, sprite=304 } explosion={ x=0, y=0, r=0 --radius } players_lifes={0,0,0,0,0} players_x={-6,-6,-6,-6,-6} players_y={-6,-6,-6,-6,-6} players_score={0,0,0,0,0} players_invuln={0,0,0,0,0} crosses_set={0,0,0,0} crosses_x={0,0,0,0} crosses_y={0,0,0,0} goal={3,3,3,3} goal_sum=0 fireballs_x={0,0,0,0} fireballs_y={0,0,0,0} difficulty=0.3 max_difficulty=1 function get_damage(p1) --p1 stands for pointer1 if players_invuln[p1]==0 then players_lifes[p1]=players_lifes[p1]-1 players_invuln[p1]=90 if players_lifes[p1]<=0 then players_x[p1]=112 players_y[p1]=-20 players_lifes[p1]=0 else players_x[p1]=112 players_y[p1]=120 end end end function resett() for loop=1,settings.player do --giving new lifes players_lifes[loop]=players_lifes[loop]+settings.new_lifes --resetting players positions --if players_lifes[loop]>0 then players_x[loop]=112 players_y[loop]=120 --end end --resetting crosses and goals for loop=1,4 do crosses_set[loop]=0 goal[loop]=4*settings.player+(cells_shift_x//15) end --setting timer for loop=1,4 do ltimer=ltimer+goal[loop]*(10-ltimer_difficulty)*60 end --resetting fireballs for loop=1,4 do fireballs_x[loop]=112 fireballs_y[loop]=-10 end --resetting nuke nuke.set=0 explosion.r=0 end function level_change() goal_sum=0 for loop=1,4 do goal_sum=goal_sum+goal[loop] end if goal_sum==0 then settings.level=settings.level+1 if settings.level>24 then settings.level=1 end screen=3 end end function graphics() cls() map(cells_shift_x,cells_shift_y,30,17,0,0,0,1,0) --timer print(ltimer//60,0,0,ltimer_color,true,2,true) if timer%30==0 then ltimer_color=ltimer_color+ltimer_color_dir if ltimer_color==2 or ltimer_color==7 then ltimer_color_dir=ltimer_color_dir*-1 end end for loop=1,settings.player do --knifes if players_lifes[loop]>0 then spr(255+loop,players_x[loop],players_y[loop],0) end --fireballs spr(271+loop,fireballs_x[loop],fireballs_y[loop],0) end --crosses for loop=1,4 do if goal[loop]>0 then spr(288,crosses_x[loop],crosses_y[loop],0) else spr(289,crosses_x[loop],crosses_y[loop],0) end end --bomb spr(nuke.sprite,nuke.x,nuke.y,0) --explosion if explosion.r>0 then circ(explosion.x,explosion.y,explosion.r,timer//5) explosion.r=explosion.r-0.5 end end function controls() for loop=1,settings.player do if btn(b_keys[loop]) then screen=2 end if players_lifes[loop]>0 then if btn(up_keys[loop]) and mget((players_x[loop]+1)//8+cells_shift_x,players_y[loop]//8+cells_shift_y)<32 and mget((players_x[loop]+6)//8+cells_shift_x,players_y[loop]//8+cells_shift_y)<32 then players_y[loop]=players_y[loop]-1 end if btn(down_keys[loop]) and mget((players_x[loop]+1)//8+cells_shift_x,(players_y[loop]+7)//8+cells_shift_y)<32 and mget((players_x[loop]+6)//8+cells_shift_x,(players_y[loop]+7)//8+cells_shift_y)<32 then players_y[loop]=players_y[loop]+1 end if btn(left_keys[loop]) and mget(players_x[loop]//8+cells_shift_x,(players_y[loop]+1)//8+cells_shift_y)<32 and mget(players_x[loop]//8+cells_shift_x,(players_y[loop]+6)//8+cells_shift_y)<32 then players_x[loop]=players_x[loop]-1 end if btn(right_keys[loop]) and mget((players_x[loop]+7)//8+cells_shift_x,(players_y[loop]+1)//8+cells_shift_y)<32 and mget((players_x[loop]+7)//8+cells_shift_x,(players_y[loop]+6)//8+cells_shift_y)<32 then players_x[loop]=players_x[loop]+1 end if btn(a_keys[loop]) and players_score[loop]>0 then players_score[loop]=players_score[loop]-1 ltimer=ltimer+30 end --if btn(y_keys[loop]) and players_score[loop]>200 then -- players_score[loop]=players_score[loop]-200 -- players_lifes[loop]=players_lifes[loop]+5 -- ltimer=ltimer+6000 --end end end end function crosses_beh() for loop=1,4 do --spawning new cross while crosses_set[loop]==0 do crosses_x[loop]=math.random(10,230) crosses_y[loop]=math.random(10,126) --up left corner if mget(crosses_x[loop]//8+cells_shift_x,crosses_y[loop]//8+cells_shift_y)<32 --up right corner and mget((crosses_x[loop]+7)//8+cells_shift_x,crosses_y[loop]//8+cells_shift_y)<32 --down right corner and mget((crosses_x[loop]+7)//8+cells_shift_x,(crosses_y[loop]+7)//8+cells_shift_y)<32 --down left corner and mget(crosses_x[loop]//8+cells_shift_x,(crosses_y[loop]+7)//8+cells_shift_y)<32 then crosses_set[loop]=1 end end --gaining crosses for loop2=1,settings.player do if crosses_x[loop]+3>=players_x[loop2] and crosses_x[loop]+3<=players_x[loop2]+7 and crosses_y[loop]+3>=players_y[loop2] and crosses_y[loop]+3<=players_y[loop2]+7 then if goal[loop]>0 then players_score[loop2]=players_score[loop2]+1 crosses_set[loop]=0 goal[loop]=goal[loop]-1 else crosses_set[loop]=1 end end end end end function fireballs_beh() for loop=1,settings.player do if fireballs_y[loop]>players_y[loop] then fireballs_y[loop]=fireballs_y[loop]-difficulty*0.5 end if fireballs_y[loop]players_x[loop] then fireballs_x[loop]=fireballs_x[loop]-difficulty*0.5 end for loop2=1,settings.player do if fireballs_x[loop]+3>=players_x[loop2] and fireballs_x[loop]+3<=players_x[loop2]+7 and fireballs_y[loop]+3>=players_y[loop2] and fireballs_y[loop]+3<=players_y[loop2]+7 and players_lifes[loop2]>0 then get_damage(loop2) end end end end function nuke_beh() if nuke.set==0 then nuke.sprite=304 nuke.y=0 nuke.x=math.random(10,230) nuke.dy=math.random(70,126) nuke.timer=nuke.timer-1 nuke.set=1 end nuke.timer=nuke.timer-0.5 if nuke.timer%30==0 then nuke.sprite=nuke.sprite+1 end nuke.y=nuke.y+difficulty if nuke.y>=nuke.dy then explosion.x=nuke.x explosion.y=nuke.y explosion.r=35+difficulty*10 --kabooming players for loop=1,settings.player do if math.sqrt((players_x[loop]+4-nuke.x)*(players_x[loop]+4-nuke.x)+(players_y[loop]+4-nuke.y)*(players_y[loop]+4-nuke.y))<=35+difficulty*10 then get_damage(loop) end end nuke.set=0 end end function TIC() cls() timer=timer+1 if screen==0 then spr(320,0,9+settings.pointer*8,0) print("WALL WALKERS 2",75,0,13,true) print("SETTINGS:",90,8,12,true) print("PLAYERS:",10,19,3,true) print(settings.player,58,19,6,true) print("LEVEL:",10,27,3,true) print(level_names[settings.level],48,27,6,true) print("START DIFFICULTY:",10,35,3,true) print(difficulty,112,35,6,true) print("MAX DIFFICULTY:",10,43,3,true) print(max_difficulty,100,43,6,true) print("LVL TIMER DIFFICULTY:",10,51,3,true) print(ltimer_difficulty,136,51,6,true) print("NEW LIFES:",10,59,3,true) print(settings.new_lifes,69,59,6,true) print("PRESS X TO START",10,122,timer//20,true,2,true) if btnp(4,30,10) then --1 changing amount of players if settings.pointer==1 then settings.player=settings.player+1 end --2 changing start level if settings.pointer==2 then settings.level=settings.level+8 cells_shift_y=cells_shift_y+17 end --3 difficulty if settings.pointer==3 then difficulty=difficulty+0.1 end --4 max_difficulty if settings.pointer==4 then max_difficulty=max_difficulty+0.1 end --5 ltimer_difficulty if settings.pointer==5 then ltimer_difficulty=ltimer_difficulty+1 end --6 new lifes if settings.pointer==6 then settings.new_lifes=settings.new_lifes+0.2 end end if settings.player>4 then settings.player=1 end if settings.level>24 then settings.level=1 end if cells_shift_y>34 then cells_shift_y=0 end if difficulty>1.9 then difficulty=0.1 end if max_difficulty>1.9 then max_difficulty=0.1 end if ltimer_difficulty>9 then ltimer_difficulty=0 end if settings.new_lifes>10 then settings.new_lifes=0.2 end if btnp(0,10,20) and settings.pointer>1 then settings.pointer=settings.pointer-1 end if btnp(1,10,20) and settings.pointer<6 then settings.pointer=settings.pointer+1 end if btn(6) then resett() screen=1 end end if screen==1 then for loop=1,settings.player do if players_invuln[loop]>0 then players_invuln[loop]=players_invuln[loop]-1 end end ltimer=ltimer-1 if ltimer<=0 then ltimer=0 for loop=1,settings.player do players_lifes[loop]=0 end end graphics() controls() crosses_beh() fireballs_beh() nuke_beh() level_change() end if screen==2 then --pause print("PAUSE",110,0,timer//20,true) print("PRESS X TO CONTINUE",10,120,5,true,1,true) print("PRESS Y FOR MAIN MENU",10,130,5,true,1,true) for loop=1,settings.player do print("PLAYER",5+loop*40,20,5,true,1,true) print(loop,33+loop*40,20,timer//20,true,1,true) print("SCORE:",5+loop*40,30,5,true,1,true) print(players_score[loop],5+loop*40,40,timer//20,true,1,true) print("LIFES:",5+loop*40,50,5,true,1,true) print(players_lifes[loop],5+loop*40,60,timer//20,true,1,true) if btn(x_keys[loop]) then screen=1 end if btn(y_keys[loop]) then reset() end end end if screen==3 then --interlevel print("ENTERING...",10,10,timer//30,true,2,true) print(level_names[settings.level],10,30,5,true) print("PRESS Y TO CONTINUE",10,130,5,true) for loop=1,settings.player do if btn(y_keys[loop]) then resett() difficulty=difficulty+0.1 if difficulty>max_difficulty then difficulty=0.3 end cells_shift_x=cells_shift_x+30 if cells_shift_x>210 then cells_shift_x=0 cells_shift_y=cells_shift_y+17 end if cells_shift_y>34 then cells_shift_y=0 end screen=1 end end end end -- for loop=1,4 do -- if btn(up_keys[loop]) then -- players_y[loop]=players_y[loop]-0.3 -- end -- end