adds randomized hints!!!!

This commit is contained in:
duncathan 2020-03-03 08:20:04 -06:00
parent 03afa18131
commit efea98845d
18 changed files with 315 additions and 174 deletions

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
fc|墘拤fc暒<63>暅Ξ墘墤暉殺墘墘暈<E5A298>fc|墘拪fc暒<63>暅Ξ墘墤暉殺墘墛暈<E5A29B>fc|墘拫fc暒<63>暅Ξ墘墤暉殺墘墜暈<E5A29C>fc|墘拰fc暒<63>暅Ξ墘墤暉殺墘墝暈<E5A29D>fc|墘拲fc暒<63>暅Ξ墘墤暉殺墘墠暈<E5A2A0>fcfc|墛墘fc暕<63>暉毃墘墠暛珰墘墜搲墥崜墛嫀搲墘媐c|墛墛fc暕<63>暚ó墘妸暆З墛墛暉毃墘墠暛珰墘墜搲墥崜墛嫀搲墛媐cfcfcfc|墜墘fc暏瀁暉ィ妺拤搲媺姇煡剨嫆墪Μ牗寥嚂Ж潟湧珰y倘沤戮藋克绕y土緔涛丝杭緲fc澛角€蛓狙删纪y腿y叹緔胰蝔c辆司噰嚂Ж漟c傲舅緔核緔土緔韧辆颂槙Ж潟湧珖噰噰暓<E599B0>暅カ傲和€蘺土和榝c踩嗡y凭迫艘€蘺廊蔷槙Ж漟c【羻辆羻辆羾噰暓<E599B0><EFBFBD>fc|墜墛fc暏灢暒瑺熬排厃吐排y胰嗡y梦录緔宋翘fc任蛥y梁暇y课莥泻墙舅虑绹暓<E7BBB9><EFBFBD>fcfc
[Xq~~㍻[X鴨恟椛屮~~~<7E>拍欲~~~鞄恍[Xq~~<7E>[X鴨恟椛屮~~~<7E>拍欲~~鞄恍[Xq~~〝[X鴨恟椛屮~~~<7E>拍欲~~€鞄恍[Xq~~〟[X鴨恟椛屮~~~<7E>拍欲~~♀糖端Xq~~№[X鴨N所騒」~~~<7E>拍欲~~糖端Xq~~~[X萱<58>頼拍捫~~<EFBD8A>淳~~€<>~№<>€ヨ~~~€[Xq~~[X萱<58>頼。撻~~樺悚~~株傷~~~<EFBD8A>淳~~€<>~№<>€ヨ~~€[Xq~€~~[X鞄、冬~~~

View file

@ -1 +1 @@
IF_llulIFx<EFBFBD>}x<78>lllmx<6D><78>lllx<6C><78>IF_llumIFx<46>}x<78>lllmx<6D><78>llmx<6D><78>IF_llunIFx<46>}x<78>lllmx<6D><78>llnx<6E><78>IF_lluoIFx<46>}x<78>lllmx<6D><78>llox<6F><78>IF_llupIFx<46><78>mlqvlluqx<71>}x<78>lllmx<6D><78>llpx<70><78>IF_lluqIFx<46>}x}<7D>lmmlvllllvlllnx<78>lllmx<6D><78>llpx<70><78>IF_lluuIFx<46>𡣘<EFBFBD>}x<78>lllmIFx}<7D>lmllvlllmvllllx<6C><78>llpIFx<78>lolmvlmmnvlllnx𤛔<78>mllIFx}<7D>lmllvllllvllllIFx<46><78>lllnx<6E><78>lolmx<6D>x<7F><78>IF_lmllIFx<46><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>俞筍崤<E7AD8D>狐\鬥\ㄚ\鬥\}扇仃宮涅F井扈﹃x<EFB983><78>lllx<78>IFx<46>𡣘<F0A1A398>lollvlmmmvlllnx<6E>x𤛔<78>lrlx}<7D>lmllvlllmvllllIFx𤛔<78>mllx<6C>嚯llpx<70>}lllmvlluuvlllqvllltIF_lmlmIFx<46><78><EFBFBD>嚯llpx<70>}lllpvllupvllluvllltIF_lmlnIFx<46>𡣘<F0A1A398>lollvlmmmvlllnx<6E>x𤛔<78>lrlx}<7D>lmllvlllmvllllIFx𤛔<78>mllx<6C>嚯llpx<70>ilmlrx<72>}llnpvlsllvlllnvllllIF_lmloIFx<46><78><EFBFBD>嚯llpx<70>}lllqvllupvllmlvllltIF_lmlqIFx<46><78><EFBFBD>嚯llpx<70>}llnnvllupvllmnvlllnIF_lmlrIFx<46><78><EFBFBD>𡡣lmmx<6D><78>lmlrx<72>嚯llpx<70>}llnnvllupvllmmvllmnIF_lmlsIFx<46><78><EFBFBD>嚯llpx<70>}llnovllupvllluvllltIF_lmltIFx<46><78><EFBFBD><EFBFBD>mlovlmlux<75><78>豹釩泌豹型〞]x<><78>x<EFBFBD><78>IF_lmluIFx<46><78><EFBFBD>𡡣lmmx<6D><78>lmltx<74>嚯llpx<70>}lllovllupvlllpvllmlIF_lmmlIFx<46><78><EFBFBD><EFBFBD>mlqvlmmmx<6D><78>豹釩泌豹型〞jjjx<6A><78>x<EFBFBD><78>IF_lmmmIFx<46><78><EFBFBD><EFBFBD>lmmlx<6C>嚯llpx<70>}llnmvllupvllmlvllluIF_lnllIFx<46><78><EFBFBD><EFBFBD>c癧<63><E799A7>么垮豹失\<5C>部恣\筍強x<E5BCB7><78>IF𨫡𨀤\酗弘﹏陘左α囿\陘F𠿭偽咿{x<><78>IF𪊽<EFB98F>么㓤癧<E393A4>蘔\弘c珮垓jx<6A><78>x<EFBFBD><78>IF_lollIF_lolmIF_lpllIFx<46><78><EFBFBD>glmlmx<6D>𡡣lnnx<6E><78>lpllx<6C><78>ploIF_lplmIFx<46><78><EFBFBD>glmlnx<6E>𡡣lnnx<6E><78>lplmx<6D><78>plpIF_lploIFx<46><78>lmnIF_lplpIFx<46><78>lmoIF_lqllIFx<46>𡣘<EFBFBD>lx<6C><78>lllnx<6E>𪄣<EFBFBD><F0AA84A3>lqll<<3C>glmllIFx<46><78><EFBFBD>lllox}<7D>lqlnvllmmvllln𨫡筍崤躀︺IF筍崤帖狗陛孫x<E5ADAB><78>IF<49>坼物豹𢒰<E8B1B9><F0A292B0><EFBFBD>\筍崧x}<7D>lqlnvllllvlllnx<6E><78>x<78>x<78>llllIFx<46>llmn<6D><6E>}<7D>]]x<><78>x<78>x<EFBFBD>lllox}<7D>lqlnvllmmvlllnx}<7D>lqlnvllmmvllln衮𤪓{\㨩𨀤c珮陘𨀤{x<><78>IF𧞄崤<F0A79E84>牧𩄼𡆇左α弘{]x<><78>x<78><7F>\𤪓<>癧㓤癧乾琶x<E790B6><78>IF<49>〞\延\𡆇城丑宮珮炕瓷埋F鱝𨀤〞\屆]]x<><78>x<EFBFBD>llllx<78>IFx}<7D>lqlmvlllnvllllx𤛔<78>lqtIFx}<7D>lqlmvlllpvllllx𤛔<78>lmlIFx}<7D>lqlnvlllrvlllnx𤛔<78>lmlx<6C><78><EFBFBD><EFBFBD><EFBFBD>lllp𤧚兡\𧞄崤野氓x<E6B093><78>x<78>x<EFBFBD>𣗏Fx}<7D>lqlmvlllpvllllx𤛔<78>lmlIFx}<7D>lqlnvlllrvlllnx𤛔<78>lmlx<6C><78><EFBFBD><EFBFBD>c坼神悅琶IF<49>坼神悅琶]x<><78>x<EFBFBD>llllx<78>x<EFBFBD>𣗏Fx}<7D>lqlmvlllpvllllx𤛔<78>lmlIFx}<7D>lqlnvllltvlllnx<6E><78><EFBFBD>砟]fx𤛔<78>lqlx<78>IFx𤛔<78>lnlx<6C><78>垂中jjjx<6A><78>x<78><7F>廾x<E5BBBE><78>IFx𤛔<78>lmlx}<7D>lqlnvllllvllllx𤛔<78>lmlIFx<46><78><EFBFBD>lllm㨩剃恣\筍惋x<E6838B><78>IFx}<7D>lqlmvlllnvllllx𤛔<78>lpnIFx}<7D>lqlmvlllpvllllx𤛔<78>lmlIFx}<7D>lqlnvlllrvlllnx𤛔<78>lloIFx<46><78><EFBFBD><EFBFBD><EFBFBD>lllp<6C>吞x𤛔<78>lqlx<6C>llllx<78>x<EFBFBD>𣗏Fx}<7D>lqlnvllmovllllx𤛔<78>lqlx<6C><78><EFBFBD>llmnjjjjjx<6A><78>x<78>IFx}<7D>lqlmvlllnvlllnx𤛔<78>nmlx<6C><78>lqlnx<6E><78>lqlmx<6D>𪄣<EFBFBD><F0AA84A3>IF_lqlmIF_lqlnIF_lqloIFx<46>𡣘<EFBFBD>glmlox<6F>grmlmx<6D>𩗴qlovllmrIFx<78>lqlovlltuvllllIFx𤛔<78>pllx<78>llmqIFx<46>炼lmrx<72><78><EFBFBD>穉F<E7A989><EFBFBD>陛癧<E9999B>垣]x𤛔<78>mplx<6C><78>IFx<78>lllmx<6D><78>IF_lqlpIFilqlqIFx<46><78><EFBFBD><EFBFBD><EFBFBD>llmo㨩𨀤jjj{x<><78>x<78>仪\<5C>jj{x<><78>IF㨩𨀤\<5C><EFBFBD>jj{x<><78>x<78>㨩俞躀筍惋x<E6838B><78>x<EFBFBD><78>IF_lrllIFx<46>𡣘<EFBFBD>𪄣<EFBFBD>㧻llqtx<74>lx<6C><78>lllnx<6E><78>lrllIFx<46><78><EFBFBD>llmn<6D><6E>𥴠jjx𤛔<78>lnlx<6C><78>x<78>IFx<78>lllpIFx<78>lqlpvllmovllllIFx<78>lqlovllttvllllx~<7E>lqlox<6F>ilmlox<6F><78>
0==F=IZ[NIPZb===>ISNV====IR[Q0==F>IZ[NIPZb===>ISNV===>IR[Q0==F?IZ[NIPZb===>ISNV===?IR[Q0==F@IZ[NIPZb===>ISNV===@IR[Q0==FAISYW=>=BG==FBIZ[NIPZb===>ISNV===AIR[Q0==FBIZ[NIN[]=>>=G====G===?IPZb===>ISNV===AIR[Q0==FFIXRfIZ[NIPZb===>IN[]=>==G===>G====ISNV===AIP[]=@=>G=>>?G===?IdNV=>==IN[]=>==G====G====IZfQ===?IQ[]=@=>I`ZPIR[Q0=>==I]_VIZ`TIab_Q|-†|-„n{<7B>-<2D>|-t|-<2D>|-N<4E>u4€u|€rLIf[W====IPY\IXRfIP[]=@==G=>>>G===?IUZPIdNV==C=IN[]=>==G===>G====IdNV=>==ISN\===AIa_N===>G==FFG===BG===E0=>=>I]_VISN\===AIa_N===AG==FAG===FG===E0=>=?IXRfIP[]=@==G=>>>G===?IUZPIdNV==C=IN[]=>==G===>G====IdNV=>==ISN\===AISY:=>=CIa_N==?AG=D==G===?G====0=>=@I]_VISN\===AIa_N===BG==FAG==>=G===E0=>=BI]_VISN\===AIa_N==??G==FAG==>?G===?0=>=CI]_VI`\b==>>IQ[]=>=CISN\===AIa_N==??G==FAG==>>G==>?0=>=DI]_VISN\===AIa_N==?@G==FAG===FG===E0=>=EI]_VISYW=>=@G=>=FIZ`TV<54>-„|{4<>-|}r{.I[\QIR[Q0=>=FI]_VI`\b==>>IQ[]=>=EISN\===AIa_N===@G==FAG===AG==>=0=>>=I]_VISYW=>=BG=>>>IZ`TV<54>-„|{4<>-|}r{;;;I[\QIR[Q0=>>>I]_VIQ[]=>>=ISN\===AIa_N==?>G==FAG==>=G===F0=?==IRcR====0=@==0=@=>0=A==I]_VISY8=>=>I`\b==??IQ[]=A==IRcR=A=@0=A=>I]_VISY8=>=?I`\b==??IQ[]=A=>IRcR=A=A0=A=@IRcR==>?0=A=AIRcR==>@0=B==IXRfIZZ=IZfQ===?ISZbIQ[]=B==ISY8=>==IZ`TISNP===@IN[]=B=?G==>>G===?aurr-†|-nr9 †|-z|{€<>r.I[\QV4z-{|<7C>-nsnvqqn-†|.IN[]=B=?G====G===?I[\QIPY_IPZb====ISNP==>?\\TNNUU..I[\QIPY_ISNP===@IN[]=B=?G==>>G===?IN[]=B=?G==>>G===?frnuL-dun<75>4€-<2D>un<75>LI[\Qf|-„n{{n-ov{t-v<>L.I[\QIPY_T|-nurnq-n{q-<2D>†.I[\QRƒr{-z†-o|<7C>ur4€-{rƒrorn<72>r{-zr..I[\QISNP====IPY\IN[]=B=>G===?G====IdNV==BEIN[]=B=>G===AG====IdNV==>=IN[]=B=?G===CG===?IdNV==>=I]_VIZ`TISNP===A\|s.-f|-„v{.I[\QIPY\IXRfIN[]=B=>G===AG====IdNV==>=IN[]=B=?G===CG===?IdNV==>=I]_VIZ`TV4z-€|†.V4z-€|†..I[\QISNP====IPY\IXRfIN[]=B=>G===AG====IdNV==>=IN[]=B=?G===EG===?IZ`T7Pn€u.7IdNV==B=IPY\IdNV==?=IZ`T\||uu;;;I[\QIPY_UuLI[\QIdNV==>=IN[]=B=?G====G====IdNV==>=IZ`TISNP===>du|4r-†|LI[\QIN[]=B=>G===?G====IdNV==A?IN[]=B=>G===AG====IdNV==>=IN[]=B=?G===CG===?IdNV===@I]_VIZ`TISNP===ARx.IdNV==B=ISNP====IPY\IXRfIN[]=B=?G==>@G====IdNV==B=IZ`TISNP==>?;;;;;I[\QIPY\IN[]=B=>G===?G===?IdNV=?>=IQ[]=B=?IQ[]=B=>I_ZbIR[Q0=B=>0=B=?0=B=@IXRfISY8=>=@ISY8C>=>IS\[=B=@G==>CIP[]=B=@G==EFG====IdNV=A==IPZb==>BIS\Z==>CIZ`TIab_Qrsrn<72>rq-Vt|.IdNV=>A=I[\QIPZb===>IR[Q0=B=A:=B=BI]_VIZ`TISNP==>@dun<75>;;;LI[\QIPY_durr-nz-V;;;LI[\Qdun<75>-qvq-V;;;LI[\QIPY_du|-nr-†|LI[\QIR[Q0=C==IXRfISZbIQ[N==BEIZZ=IZfQ===?IQ[]=C==IZ`TISNP==>?T____;;;IdNV==?=I[\QIPY\IPZb===AIP[]=B=AG==>@G====IP[]=B=@G==EEG====IO`Y=B=@ISY:=>=@IR[Q

View file

@ -1 +1 @@
GD]jjsjGDv㊧{v}㍼jjlqv€{ニjjjv<76>GD]jjskGDv㊧{v}㍼jjlqv€{ニjjkv<76>GD]jjslGDv㊧{v}㍼jjlqv€{ニjjlv<76>GD]jjsmGDv㊧{v}㍼jjlqv€{ニjjmv<76>GD]jjsnGDv㊧{v}㍼jjlqv€{ニjjnv<76>GD]jjsoGD]jjssGDv<44>砺㊧{v}㍼jjlqGDv{<7B>jkjjtjjjktjjjjv€{ニjjnGDv}<7D>jmjktjkkltjjjlv捜ニkjjGDv{<7B>jkjjtjjjjtjjjjGDv∮~jjjlv~<7E>jmjkv合}v<76>GD]jkjjGDv褐プ㍾」誌鯨ゥZウゥッZア岑ョZョゥZ。ゥZョゥZ{ャョ「ッャaュGD「ゥッュ毓v嶋<76>jjjv}<7D>v€<76>jkosGDv<44>砺}<7D>jmjjtjkkktjjjlv}v捜ニjpjv{<7B>jkjjtjjjktjjjjGDv捜ニkjjv€{泳jjnv詞{jjjktjjsstjjjotjjjrGD]jkjkGDv褐プ€{泳jjnv詞{jjoktjjsntjjjntjjjnGD]jkjlGDv褐プ€{泳jjnv詞{jjoktjjsntjjkrtjjjrGD]jkjmGDv褐プ€{泳jjnv詞{jjjotjjsntjjkj:jjjrGD]jkjoGDv褐プ€{泳jjnv詞{jjojtjjsntjjkltjjjlGD]jkjpGDv褐プ€{泳jjnv詞{jjojtjjsntjjkktjjklGD]jkjrGDv<44>砺拷祝jkkv{<7B>jkjrtjjjjtjjjlv€{泳jjnv詞{jjoltjjsntjjjntjjkjGD]jkkjGDv<44>€{泳jjnv詞{jjontjjsntjjkjtjjjsGD]jkkkGD]jljjGDv褐プ㍾」誌月「飮撥ャ撥ュュZゥ<5A>Z媚婚ウZ~ャ孱ゥィhhhv<68>~v<76>GD]jljkGDv{<7B>jljktjjjjtjjjlv<76>GD]jlkjGDv褐プ㍾」誌月「洳飮ア岶Zョ「」ュZ「ッ。飮浚ェヲゥュ」ゥィ[GD造洽Zセ撥ァ飮ョゥfZ」ョZ屹ヲZヲゥゥ・沾GDヲ」・飮ョ「」ュhv<68>~v<76>GD]jmjjGD]jmjkGD]jmljGDv褐プ€<E38397>jrrjtjjjkv€<76>jrrjv拷祝jllv}<7D>jmljtjjlktjjjjv<76>jmlkGD]jmlkGDv<76>jjmjGD]kljjGDv<44>砺{<7B>kljjtjjljtjjjjGDv€沿kljjtjjkpv€{ニjjkGDv捜ニkjjv€{泳jjkv詞{jjjptkljjtjkqktjjkn
=:S``i`=:l}~qls}…``bglvqy````lu~t=:S``ia=:l}~qls}…``bglvqy```alu~t=:S``ib=:l}~qls}…``bglvqy```blu~t=:S``ic=:l}~qls}…``bglvqy```clu~t=:S``id=:l}~qls}…``bglvqy```dlu~t=:S``ie=:S``ii=:l{u‰l}~qls}…``bg=:lq~€`a``j```aj````lvqy```d=:ls~€`c`aj`aabj```bl‡qy`a``=:lq~€`a``j````j````=:l}‰t```blt~€`c`alƒ}slu~t=:S`a``=:l€yl}ƒwl„…tŸP©Ÿ¥P§ž¤P¤ŸP—ŸP¤ŸPq¢¤˜¥¢W£=:˜Ÿ¥£•ol‰~z````ls|lv|[`aei=:l{u‰ls~€`c``j`aaaj```blx}sl‡qy``f`lq~€`a``j```aj````=:l‡qy`a``lvq```dl„q```aj``iij```ej```h=:S`a`a=:l€ylvq```dl„q``eaj``idj```dj```d=:S`a`b=:l€ylvq```dl„q``eaj``idj``ahj`0`h=:S`a`c=:l€ylvq```dl„q```ej``idj``a`j```h=:S`a`e=:l€ylvq```dl„q``e`j``idj``abj```b=:S`a`f=:l€ylvq```dl„q``e`j``idj``aaj``ab=:S`a`h=:l{u‰lƒ…``aalq~€`a`hj````j```blvq```dl„q``ebj``idj```dj``a`=:S`aa`=:l{u‰lvq```dl„q``edj``idj``a`j```i=:S`aaa=:S`b``=:l€yl}ƒwl„…˜•P“¢“££PŸP©Pt¢—Ÿž^^^l~tlu~t=:S`b`a=:lq~€`b`aj````j```blu~t=:S`ba`=:lu†u````=:S`c``=:S`c`a=:S`cb`=:l€ylv|z`hh`j```alv|[`hh`lƒ…``bbls~€`cb`j``baj````lu†u`cba=:S`cba=:lu†u``c`=:Sab``=:l{u‰lq~€ab``j``b`j````=:lv~ab``j``aflvqy```a=:l‡qy`a``lvq```al„q```fjab``j`agaj``ad

Binary file not shown.

View file

@ -1 +1 @@
0==F=IZ[NIPZb==>FISNV====IR[Q0==F>IZ[NIPZb==>FISNV===>IR[Q0==F?IZ[NIPZb==>FISNV===?IR[Q0==F@IZ[NIPZb==>FISNV===@IR[Q0==FAIZ[NIPZb==>FISNV===AIR[Q0=>==I]_VISN\===AIa_N==>=G==FAG=???G==@?0=?=?ISYW=CA>G=?=@I]_VIZ`TV<54>-„|{4<>-|}r{;;;I[\QIR[Q0=?=@I]_VISN\====Ia_N==@EG==F=G==@BG==>@0=?=A0=?=B0=@==I]_VI`\b==??IQ[]=@==IRcR=@=>0=@=>IRcR==>A0=A==IXRfIN[]=B=>G==>=G===?IPZb====IdNV==A=IZfQ===?IZ[NISNV===>IQ[]=B=>ISY:=CA=I`ZPIdNV==D=IPZb==>FISY8?A>@IR[Q0=A=?IXRfISYW=CA>G=A=@IZ`TIab_Q|-†|-„n{<7B>-<2D>|-|}r{-<2D>ur-q||LIf[W====IPY\ISY8=CA>IS\[=?=?G==CAIdNV=>B=I`\b==A@IN[]=?=AG==>=G====IdNV===EIN[]=B=?G====G===?IN[]=?=BG==>=G===?IdNV==?EIN[]=B==G====G====IdNV=>==IQ[]=?=AIQ[]=?=BIS\Z==@?IdNV=>== IS\Z==>CIQ[]=B==IQ[]=B=?IZfQ====IR[Q0=A=@IXRfIZ`Taur-q||-v€-|}r{;I[\QIR[Q0=A>=0=B==I]_VIZ`TV-or<6F>-Zv€r†-<2D>|€€rq-†|q|„{-urr;I[\Qf|-}||-<2D>uv{t;;;I[\Qauv€-v€-<2D>ur-v€yn{q4€-<2D>n€u-urn};I[\Q\{pr-†|-tr<74>-v{9†|-{rƒr-tr<74>-|<>;;;I[\QIR[Q0=B=>0=B=?I]_VIZ`Taur-€„v<E2809E>pu-<2D>un<75>-|}r{€-<2D>uv€q||-v€-€‚}}|€rq-<2D>|-or-}-<2D>|}€|zr„urr;I[\QO<4F>-<2D>ur-s||<7C>v{t4€-<2D>vpx†-}<17>urr;I[\QV-sryy-|ƒr-n{q-|ƒr-ntnv{{<7B>vy-V-o|xr-z†-yrt€;I[\QIR[Q0=B=@I]_VIZ`Taurr-v€-{|-r}y†;I[\QIR[Q0=C==0=C=>IXRfIZ[NIPZb==>FIN[]=C>=G===>G====ISNV===AIP[]=C=>G=>>?G====IdNV=>==IN[]=C>=G====G====IZfQ====IQ[]=C=>I`ZPIR[Q0=C>=IXRfISY8=?A@IP[]=C==G=>>>G===?IUZPIdNV==C=IN[]=C>=G===>G====IdNV=>==ISN\===AIa_N==>=G=C=>G=?@>G==@C
0==F=IZ[NIPZb==>FISNV====IR[Q0==F>IZ[NIPZb==>FISNV===>IR[Q0==F?IZ[NIPZb==>FISNV===?IR[Q0==F@IZ[NIPZb==>FISNV===@IR[Q0==FAIZ[NIPZb==>FISNV===AIR[Q0=>==I]_VISN\===AIa_N==>=G==FAG=???G==@?0=?=?ISYW=CA>G=?=@I]_VIZ`TV<54>-„|{4<>-|}r{;;;I[\QIR[Q0=?=@I]_VISN\====Ia_N==@EG==F=G==@BG==>@0=?=A0=?=B0=@==I]_VI`\b==??IQ[]=@==IRcR=@=>0=@=>IRcR==>A0=A==IXRfIN[]=B=>G==>=G===?IPZb====IdNV==A=IZfQ===?IZ[NISNV===>IQ[]=B=>ISY:=CA=I`ZPIdNV==D=IPZb==>FISY8?A>@IR[Q0=A=?IXRfISYW=CA>G=A=@IZ`TIab_Q|-†|-„n{<7B>-<2D>|-|}r{-<2D>ur-q||LIf[W====IPY\ISY8=CA> IS\[=?=?G==CAIdNV=>B=I`\b==A@IN[]=?=AG==>=G====IdNV===EIN[]=B=?G====G===?IN[]=?=BG==>=G===?IdNV==?EIN[]=B==G====G====IdNV=>==IQ[]=?=AIQ[]=?=BIS\Z==@?IdNV=>==IS\Z==>CIZfQ====IR[Q0=A=@IXRfIZ`Taur-q||-v€-|}r{;I[\QIR[Q0=A>=0=B==IRcR====0=B=>0=B=?IRcR====0=B=@I]_VIZ`Taurr-v€-{|-r}y†;I[\QIR[Q0=C==0=C=>IXRfIZ[NIPZb==>FIN[]=C>=G===>G====ISNV===AIP[]=C=>G=>>?G====IdNV=>==IN[]=C>=G====G====IZfQ====IQ[]=C=>I`ZPIR[Q0=C>=IXRfISY8=?A@IP[]=C==G=>>>G===?IUZPIdNV==C=IN[]=C>=G===>G====IdNV=>==ISN\===AIa_N==>=G=C=>G=?@>G==@C

View file

@ -162,15 +162,7 @@ up with something around here...<NOD<CLRMan, I'm hungry...<NOD<END
#0300
#0301
#0310
<PRI<SAT
<FLJ1045:0313
<FLJ1041:0311
<FLJ1044:0312
<MSGA man from the surface, the
Doctor, is using the Mimigas to
cultivate red flowers.<NOD<CLRThis isn't the first time
this sort of thing has
happened...<NOD<END
<EVE0000
#0311
<PRI<MSGFound this one lying in the
spring.<NOD

View file

@ -0,0 +1,22 @@
#0090
<MNA<CMU0008<FAI0000<END
#0091
<MNA<CMU0008<FAI0001<END
#0092
<MNA<CMU0008<FAI0002<END
#0093
<MNA<CMU0008<FAI0003<END
#0094
<MNA<CMU0008<FAI0004<END
#0100
<PRI<FAO0004<TRA0002:0094:0125:0002
#0101
<PRI<SOU0011<DNP0101<FAO0004<TRA0002:0094:0125:0012
#0200
<EVE0000

View file

@ -44,10 +44,7 @@ house?<YNJ0000<CLO
#0111
<PRI<DNP0110<FAO0004<TRA0021:0094:0010:0009
#0200
<PRI<MSGI'd watch out if I were you.<NOD
That white thing on the
bottom?<NOD
One touch and POW, it's over.<NOD<END
<EVE0000
#0300
#0301
#0400

View file

@ -56,9 +56,7 @@ house?<YNJ0000<CLO<FL+0159
<ANP0201:0000:0002<END
#0210
<PRI<MSG<TURThere was this huge explosion!
When I came to, it all looked
like this.<NOD<END
<EVE0000
#0300
#0301

View file

@ -42,7 +42,7 @@
<DNP0204<DNP0205
<FOM0032<WAI0100
<FOM0016
<DNP0500<DNP0502<MYD0000<END
<MYD0000<END
#0403
<KEY<MSGThe door is open.<NOD<END
@ -51,23 +51,12 @@
#0500
<PRI<MSGI bet Misery tossed you
down here.<NOD
You poor thing...<NOD
This is the island's trash heap.<NOD
Once you get in,
you never get out...<NOD<END
<EVE0000
#0501
#0502
<PRI<MSGThe switch that opens this
door is supposed to be up top
somewhere.<NOD
But the footing's tricky up
there.<NOD
I fell over and over again
until I broke my legs.<NOD<END
<EVE0000
#0503
<PRI<MSGThere is no reply.<NOD<END

View file

@ -94,9 +94,7 @@ the door.<NOD<END
<PRI<DNP0200<FL+0210<EVE0700
#0201
<PRI<FLJ0228:0207<FL+0228<MSG<TUROho. A soldier from the surface?
I thought the war was over
already.<NOD<CLR<TURWell, whatever.<NOD<CLO<EVE0207
<EVE0000
@ -109,17 +107,7 @@ already.<NOD<CLR<TURWell, whatever.<NOD<CLO<EVE0207
<CNP0202:0001:0000<END
#0205
<FLJ0481:0206
<PRI<MSG<TURThe fans aren't running.<NOD
Someone's cut the power to
this area.<NOD<CLR
<TURIf you want to get them working
again, you'll have to find the
Power Room.<NOD<END
#0206
<PRI<MSG<TURLet me give you a tip.<NOD<CLR<TURIf you hold the jump button
while a fan blows you around,
you'll fly even higher.<NOD<END
<EVE0000
#0207
<PRI<MSG<TURIf you're going on ahead,

View file

@ -1 +1 @@
IF_llulIFx墛}x墤lllqx倉卨lllx倛唍pmlvlluqx亰€IF_llumIFx墛}x墤lllqx倉卨llmx倛唍pmlvlluqx亰€IF_llunIFx墛}x墤lllqx倉卨llnx倛唍pmlvlluqx亰€IF_lluoIFx墛}x墤lllqx倉卨llox倛唍pmlvlluqx亰€IF_llupIFx墛}x墤lllqx倉卨llpx倛唍pmlvlluqx亰€IF_lluqIFx墝lmtnvllmmvlllmx亰€IF_llutIFx噥晉墛}x墤lllqx倛glnnpIFx}妼lmllvlllmvllllx倉卨llpIFx妼lplmvlmmnvlllnx搣卨mllIFx}妼lmllvllllvllllIFx墪€lllnx弶x€妼lplmx亰€IF_lluuIFx噥晉墛}x墤lllqIFx}妼lluuvllmlvllllIFx倉卨llpx搣卨lslIFx}妼lluuvllllvllllx搣卨lolx倛gnpmlx亽乴luqIF_lmllIFx噥晉墢儀悜巰玕但盶碀<E79BB6>\矮\\矮\}<7D>け甤疘Fか悲<E3818B>x倛ilnnsx晩唋lllx垕IFx妼lpllvlmmmvlllnx剦x搣卨lrlx}妼lmllvlllmvllllIFx搣卨mllx倉媗llpx悗}lllmvlluuvlllqvllltIF_lmlmIFx寧厁倛ilnnsx倛唋nmnvlmlnx墢儀悜巺癱痋ǐ煣<C790>jx妺€x亰€IF_lmlnIFx寧厁弸憀lmmx€妼lmlmx倉媗llpx悗}lllsvllupvllmqvllltIF_lmloIFx寧厁弸憀lmmx€妼lmlox倉媗llpx悗}llltvllupvllluvllmmIF_lmlpIFx寧匢Fx倛唋nmpvlmlrIFx厫唋lluvlmlqIFx墢儀悜巺癱痋ǐ煣<C790>jx妺€x亰€IF_lmlqIFx弸憀lnnx墢儀悜巟儏恗llu懐<75>\挨<>y幈<79>礬嚒祔jx妺€x儏恖lllx垕x倛glnmpx亽乴mlrIF_lmlrIFx寧厁弸憀lmmx€妼lmlpx倉媗llpx悗}llnqvllupvllmrvlllsIF_lmlsIFx寧厁弸憀lmmx€妼lmlsx倉媗llpx悗}llnrvllupvllmlvlllsIF_lmltIFx寧厁弸憀lmmx€妼lmltx倉媗llpx悗}llnsvllupvllmlvllluIF_lmluIFx寧匢Fx倛唋nnnvlmmmIFx厫唋lmlvlmmlIFx墢儀悜巺癨<E5B7BA>々痋矮\灐\ǐ煣<C790>jIF悿<46>倡疇\^儽<>\ク\钞グ啊猏<E5958A>IF挨<46><EFBFBD>jx妺€x亰€IF_lmmlIFx弸憀lnnx墢儀悜巟儏恗lml懐<6C>\挨<>y儽嚒祔jx妺€x厫illmlx儏恖lllx垕x倛glnnnx亽乴mmmIF_lmmmIFx寧厁弸憀lmmx€妼lmlux倉媗llpx悗}llntvllupvlllrvllmoIF_lmmnIFx寧厁倉媗llpx悗}llmtvllupvlllrvllmlIF_lmmoIFx寧厁弸憀lmmx€妼lmmox倉媗llpx悗}llolvllupvlllsvllluIF_lmnmIFx寧厁墢儀悜嶪F\\\\\\\\\\\\\\\彎<>漜痋劔悲<E58A94>妺€x亰€IF_lmnoIFx寧厁墢儀悜嶪F\\\\\\\\\\\\\\\\尗场甛帿<E7949B>x妺€x亰€IF_lmolIFx噥晉倛ilonux倛ilnmux墪€lllnx悗}llmmvlpnlvllnpvllnuIF_lnllIFx寧厁€妼lnllx倛glnmlx亽乴sllIF_lnlmIFx寧厁倛唋nntvlnlsx倛glnntx墢儀悜帇かj\}\<5C><>ァ甛<E382A1><E7949B>\挨<><E68CA8><EFBFBD><EFBFBD>IF匼挨<E58CBC>¥癨挨<E799A8>碀甛碀痋<E7A280>IF潹<46>潬礿x妺€x垘x悜帗〃╤\长澃jx妺€x垕x亽乴nlsIF_lnlnIFx倛唍polvlnlpx<70>唋lupvlnlox€妼lnlnx倛gnpolx寧厁亽乴slnIF_lnloIFx弸憀lsnx妼lnlnvllmqvlllnx亰€IF_lnlpIFx妼lnlnvlllmvllllx亰€IF_lnlqIFx倛唋ptmvlnlrIFx寧厁墢儀悜帎ぁ\<5C><>\澁—c癨<63><E799A8><EFBFBD>x妺€IF彨<46><E5BDA8><EFBFBD>痋煴癨挨<E799A8><E68CA8>场甛矮IF挨ク\澁<>jx妺€x垘IFx悜巺<E6829C>但盶碀<E79BB6>\矮\!癨挨々\倡<><EFBFBD>F潱潵猦\但眂è\<5C>病\矮\ⅴ獱\挨<>F尗场甛帿<E7949B>jx妺€x亰€IF_lnlrIFx寧厁墢儀悜巿“\<5C>\%病\但盶漒哎琷x妺€x垘x悜巺<E6829C>但盶か<E79BB6>\挨<>Ρ┈\灡鞍<E781A1>IF长エ<E995BF><EFBFBD>猏灗<E78C8F>痋但盶澁<E79BB6>獱hIF但眂è\ⅷ礬〔—\ぅ¥jx妺€x亰€IF_lnlsIF<寧厁墢儀悜巺<E6829C>但眂<E4BD86>\<EFBC8B><E382AA>\潳<>爃IF碀盁<E7A280><E79B81><EFBFBD>甛挨<E7949B><E68CA8>尗场甀F<46>痡x妺€x垘x悜帗ぁ猏挨〉\<5C>獱\<5C>\但県\グ\け<>痡x妺€x亰€IF_lnmlIFx寧厁墢儀悜帎ぁ\┇矮疄ェ<E79684>嚌侗<E59A8C>\碀痋牣ゲオ<E382B2>IF叞c痋<63>癨ǐ<E799A8><EFBFBD><E382AA>\か癨潽旦<E6BDBD><E697A6>x妺€x亰€IF_lnnlIFx厫唋lmovlnqlIFx倛唋nnmvlnplIFx倛唋ptpvlnouIFx倛唋nmqvlnopIFx寧厁墢儀悜巺癨倡猚癨<E78C9A>—jjjx妺€x垕IFx妼lnolvlmlrvllllx墪€lllnx亰€IF_lnolIFx倛glnmrx€妼lnolx亽乴tllIF_lnopIFx寧厁墢儀悜帎ぁ<E5B88E>c痋<63>\А<D090><E4B8B9>IF悿<46><EFBFBD>\┍<>\灐\<5C><><EFBFBD>\<5C>卑jx妺€x亰€IF_lnoqIFx倛唋nmqvlnorIFx寧厁墢儀悜巺<E6829C><E68CA8><EFBFBD>\А<D090><E4B8B9>\挨—IF场cè\Ρ<>\<5C>病\矮\灝<><E7819D><EFBFBD>F牜<46>\牜唱jjjx妺€x亰€IF_lnorIFx寧厁倛唋nnovlllmx厫唋lluvlnosIFx墢儀悜巺癱痋ǐ煣<C790>jx妺€IFx儏恗llu埆<75>痋ēА\漒y幈<79>礬嚒祔\倡报燶癹x搣卨lnqx妺€x亰€IF_lnosIFx寧厁倛glnnoIFx弸憀lnnx妼lnorvllnmvllllx亽乴tlmIF_lnouIFx寧厁墢儀悜帋悲啊燶<E5958A>卑h\瘽<>\澂\潹碀弹jjjx妺€x垕IFx妼lnolvlmlrvllllx墪€lllnx亰€IF_lnplIFx寧厁墢儀悜帋悲啊燶<E5958A>卑h\瘽<>\澂\潹碀弹jjjx妺€x亰€IF_lnqlIFx寧厁倛glqnmx倛glqnnx厫illmoIFx墢儀悜巟儏恗lmo彙癨挨<E799A8>y伌<79><E4BC8C><EFBFBD>jx搣卨lnqx妺€x垕IFx崙}llolx弸憀lppIFx倉媗llpx倛glqnlx倛ilqnnx倛glqnox倛glqnqx倛glnnrx倛glnnsx倛gnprlx悗}lllrvlrllvlnmsvllmrIF_lolnIFx寧厁倛唋nmtvlllmx倛glnmtIFx弸憀lnnx妼lolnvllnmvllllx亽乴oloIF_loloIFx亽乴lolIF_lolqIFx寧厁€妼lolqx弸憀lnnx亽乴slmIF_lpllIF_lplmIF_lpqlIFx寧厁墢儀悜巬\┇矮疄ェ<E79684>\<5C><EFBFBD>x妺€x亰€IF_lpqmIF_lpqnIF_lqllIFx寧匢Fx厫唋llovlqloIFx倛唋nmmvlqlmIFx倛glnmmIFx墢儀悜巎jj卌ǐ煣<C790>\<5C><EFBFBD>\┑\<5C>猏か悲<E3818B>x妺€x亰€IF_lqlmIFx寧厁墢儀悜帗グ<E5B897>┑\А<E7A4AC>h\卌ǐ煣<C790>IF<49>癹jjIF姭砛长澃jjjx妺€x亰€IF_lqlnIFx厫唋llovlqlox亰€IF_lqloIFx噥晉倛glnmnx墘lx墪€llllx搣卨lolIFx厫illlox噥晉}妼lqllvlllovllllx搣卨msrx}妼lqllvllllvlllnIFx弸憀lmmx妼lmlmvllllvllllx搣卨lmlIFx}妼lqllvlllqvlllnx搣卨lmlx€妼lqllIFx弸憀lmmx妼lmlmvllmtvllllx€妼lqlnx弸憀lnox亰€IF_lrllIFx噥晉倛glnmux墤llllx倉卨llpx墪€lllnIFx}妼lpqnvllllvllllx搣卨lmlIFx搣卨lmlx}妼lpqmvllllvlllnx搣卨lmlx}妼lpqnvllllvlllnx倠妉pqlvllmrx搣卨lqlIFx}妼lpqmvlllovlllnx搣卨lplIFx}妼lpqnvlllovlllnx搣卨lplIFx}妼lpqmvlllqvllllx搣卨lorIFx}妼lpqnvllllvllllx搣卨lqlIFx}妼lpqmvllllvlllnIFx}妼lpqmvlllqvllllIFx}妼lpqnvlllqvllllx搣卨lnlIFx}妼lpqlvllmlvllllx€妼lpqmx€妼lpqnx搣卨lolIFx}妼lpqlvllnlvllllx搣卨lrlx倠塴lmrx墪~llllIFx搣卨nllx墢儀悜巺癨倡猚癨彁媼媼媼媼宂]x搣卨ltlx妺€x墤lllqIFx€妼lpqlx倛ilqnox倛glnnqx亰€IF_lsllIFx亽乴lqoIF_lslmIFx亽乴lmpIF_lslnIFx亽乴lqtIF_ltllIFx亽乴lquIF_ltlmIFx亽乴lrlIF_mnllIFx噥晉}妼mnllvllnlvlllnIFx倠妋nllvllmrx倉卨llmIFx搣卨mllx倉媗llmx悗}llmlvmnllvllqlvllop
WTmzz<EFBFBD>WT<EFBFBD><EFBFBD><EFBFBD><EFBFBD>zzz<EFBFBD><EFBFBD>zzzz<EFBFBD><EFBFBD>|~{z<>z<EFBFBD><7A><EFBFBD>WTmzz<7A>WT<57><54><EFBFBD><EFBFBD>zzz<7A><7F>zzz{<7B><>|~{z<>z<EFBFBD><7A><EFBFBD>WTmzz<7A>WT<57><54><EFBFBD><EFBFBD>zzz<7A><7F>zzz|<7C><>|~{z<>z<EFBFBD><7A><EFBFBD>WTmzz<7A>WT<57><54><EFBFBD><EFBFBD>zzz<7A><7F>zzz}<7D><>|~{z<>z<EFBFBD><7A><EFBFBD>WTmzz<7A>WT<57><54><EFBFBD><EFBFBD>zzz<7A><7F>zzz~<7E><>|~{z<>z<EFBFBD><7A><EFBFBD>WTmzz<7A>WT<57><54>z{<7B><>z{{<7B>zz{<7B><>WTmzz<7A>WT<57><EFBFBD><E89781><EFBFBD><EFBFBD>zzz<7A>䮐z||~WT<57><54>z{zz<7A>zz{<7B>zzz<7A><7A>zzz~WT<57><54>z~z{<7B>{{|<7C>zz|<7C><>z{zzWT<57><54>z{zz<7A>zzz<7A>zzzWT<57><54>zzz|<7C><><EFBFBD><EFBFBD>z~z{<7B><>WTmzz<7A>WT<57><EFBFBD><E89781><EFBFBD><EFBFBD>zzzWT<57><54>zz<7A><7A>z{z<>zzzWT<57><54>zzz~<7E><>zz<7A>WT<57><54>zz<7A><7A>zzz<7A>zzz<7A><7A>zz}z<>䮐|~{z<><7A>zz<7A>WTmz{zzWT<57><EFBFBD><E89781><EFBFBD><EFBFBD>䌫j羅磚虧蜀j器j措j器j𣄽噙蕉q磕T硃蕭<E7A183><E895AD>馼z||<7C><>瑨zzz<7A><7A>WT<57><54>z~zz<7A>{{{<7B>zz|<7C><><EFBFBD><EFBFBD>zz<7A>z<EFBFBD><7A>z{zz<7A>zz{<7B>zzzWT<57><54>z{zz<7A><7A>zzz~<7E><>zzz{<7B>z<EFBFBD><7A>zz<7A>zz<7A>Tmz{z{WT<57><54><EFBFBD>馼z||<7C><>瑨|{|<7C>{z|<7C><><EFBFBD><EFBFBD>曎q篌飪音祚x<E7A59A><78><EFBFBD><EFBFBD>WTmz{z|WT<57><54><EFBFBD><EFBFBD>zz{{<7B><>z{z{<7B><>zzz~<7E><>zzz<7A>zz<7A><7A>z{<>zz<7A>Tmz{z}WT<57><54><EFBFBD><EFBFBD>zz{{<7B><>z{z}<7D><>zzz~<7E><>zzz<7A>zz<7A><7A>zz<7A>zz{{WTmz{z~WT<57><54>WT<57><54>z|{~<7E>{z<>WT<57><54>zzz<7A>z{zWT<57><54><EFBFBD><EFBFBD>曎q篌飪音祚x<E7A59A><78><EFBFBD><EFBFBD>WTmz{zWT<57><54>zz||<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{zz<7A>蔓屐噙疽<E59999>蕭壅j𨧹<6A>x<EFBFBD><78><EFBFBD><EFBFBD>zzzz<7A><7A><EFBFBD>䮐z|{~<7E><>z{z<>WTmz{z<>WT<57><54><EFBFBD><EFBFBD>zz{{<7B><>z{z~<7E><>zzz~<7E><>zz|<>z<EFBFBD><7A>z{<7B><>zz<7A>Tmz{z<>T<EFBFBD><54><EFBFBD><EFBFBD>zz{{<7B><>z{z<><7A>䐁zz~<7E><>zz|<7C><>z<EFBFBD><7A>z{z<>zz<7A>Tmz{z<>T<EFBFBD><54><EFBFBD><EFBFBD>zz{{<7B><>z{z<><7A>䐁zz~<7E><>zz|<7C>zz<7A><7A>z{z<>zz<7A>Tmz{z<>T<EFBFBD><54>WT<57><54>z|||<7C>{{{WT<57><54>zz{z<>{{zWT<57><54><EFBFBD><EFBFBD>曎j蔓窈篌器j炫j飪音祚xWT业疽褸戮jl鼖損j魚j謎鳥劑綁兢WT噙疽捆匱x<E58CB1><78><EFBFBD><EFBFBD>WTmz{{zWT<57><54>zz||<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{z{z籰祚j噙疽<E59999>蕙j𨧹<6A>x<EFBFBD><78><EFBFBD>𠻹zz{z<><7A>zzzz<7A><7A><EFBFBD>䮐z|||<7C><>z{{{WTmz{{{WT<57><54><EFBFBD><EFBFBD>zz{{<7B><>z{z<><7A>䐁zz~<7E><>zz|<7C>zz<7A><7A>zz<7A><7A>z{}WTmz{{|WT<57><54><EFBFBD><EFBFBD>zzz~<7E><>zz{<7B>zz<7A><7A>zz<7A><7A>z{zWTmz{{}WT<57><54><EFBFBD><EFBFBD>zz{{<7B><>z{{}<7D><>zzz~<7E><>zz}z<>z<EFBFBD><7A>zz<7A>zzz<7A>Tmz{|{WT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WTjjjjjjjjjjjjjjj𨬬蜀叛篌𣺉蕭<F0A3BA89><E895AD><EFBFBD><EFBFBD>竝Tmz{|}WT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WTjjjjjjjjjjjjjjjj妬蟒嶝𡠠僩<F0A1A0A0><E583A9><EFBFBD><EFBFBD>WTmz{}zWT<57><EFBFBD>馼z}|<7C><>wz|{<7B>嚤糦zz|<7C><>zz{{<7B>~|z<>z|~<7E>z|<7C>Tmz|zzWT<57><54><EFBFBD><EFBFBD>z|zz<7A>䮐z|{z<><7A>z<EFBFBD>zWTmz|z{WT<57><54>zzzzWTmz|z|WT<57><54>|~}z<>|z~<7E><>zz<7A><7A>|z}<7D><>z|z|<7C>䮐|~}z<><7A><EFBFBD><EFBFBD>z<EFBFBD>|WTmz|z}WT<57><54>zz<7A><7A><EFBFBD>z|z|<7C>z{<>zz|<7C><>WTmz|z~WT<57><54>z|z|<7C>zz{<7B>zzz<7A><7A>WTmz|zWT<57><54>zzzzWTmz|z<>T<EFBFBD><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>护j羅穌摩j措雩強兢j垓神師WT虧冪焉嘀餓偎嶝噙厭疽妬蟒增T㭻鳥劑播x<E692AD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>〃站j噙紐j陲葬j兢j羅築j鳥j窒撫綞<E692AB><E7B69E><EFBFBD><EFBFBD>WTmz|{zWT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>业疽溯器憔陬疽𧞄醴楞j虧篌挺鹿雩悉WT曎q篌號餓飪僱雩強蝴j硃餓姜繩匱矩<E58CB1><E79FA9><EFBFBD><EFBFBD>WTmz||zWT<57>酶zz{}<7D>|zWT<57><54>z||{<7B>|~zWT<57><54>z~<7E><>|}<7D>T<EFBFBD><54>z|{<>|}~WT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>曎j褸義餓劃站xxx<78><78><EFBFBD><EFBFBD>WT<57><54>z|}z<>{z<><7A>zzz<7A><7A>zzz|<7C><>WTmz|}zWT<57>䮐z|{<7B><><EFBFBD>z|}z<><7A>z<EFBFBD>zWTmz|}~WT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>业紡益篌號j粟簷僎矩WT业疽捆匱j滇蝨j炫j撚蝨祚j蔡蕪x<E895AA><78><EFBFBD><EFBFBD>WTmz|}WT<57><54>z|{<>|}<7D>WT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>护j噙紡益篌號j粟簷僎眠j噙站WT蟒q順j曾蝨j疵嶸j器j狩神痙噙狸T捆匱j捆襄xxx<78><78><EFBFBD><EFBFBD>WTmz|}<7D>WT<57><54><EFBFBD><EFBFBD>z||}<7D>zz{<7B><>zzz<7A>z|}<7D>T<EFBFBD><54><EFBFBD><EFBFBD>曎q篌飪音祚x<E7A59A><78>WT<57><54>{zz<7A>凳善j雲粟j勉<6A>蕭壅j𨧹<6A>j褸蕊屐偃鬧<E58183><E9ACA7>zz|<><7F><EFBFBD><EFBFBD>WTmz|}<7D>T<EFBFBD><54><EFBFBD>䮐z||}WT<57><54>zz||<7C><>z|}<7D><>z|{<7B>zzz<7A><7A>z<EFBFBD>{WTmz|}<7D>T<EFBFBD><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>暶蝨祚j蔡蕪vj蔚楝j娃j奎虧羸xxx<78><78><EFBFBD><EFBFBD>WT<57><54>z|}z<>{z<><7A>zzz<7A><7A>zzz|<7C><>WTmz|~zWT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>暶蝨祚j蔡蕪vj蔚楝j娃j奎虧羸xxx<78><78><EFBFBD><EFBFBD>WTmz|zWT<57><54><EFBFBD>䮐z|{<7B>䮐z||<7C>𠻹zz{}WT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{z{}𡟵餓噙疽<E59999>繙飪蔔嶸瑡<E5B6B8><E791A1>zz|<><7F><EFBFBD><EFBFBD>WT<57><54>zz}z<><7A>zz~~WT<57><54>zzz~<7E>䮐z|z<>馼z||<7C>䮐z|}<7D>䮐z|<>䮐z||<7C><>䮐z||<7C><>u|~<7E>z<EFBFBD><7A>zzz<7A><7A><EFBFBD>zz<7A>|{<7B>zz{<7B>WTmz}z|WT<57><54><EFBFBD><EFBFBD>z|{<7B>zzz{<7B>䮐z|{<7B>T<EFBFBD><54>zz||<7C><>z}z|<7C>z|{<7B>zzz<7A><7A>z}z}WTmz}z}WT<57><54>zz}zWTmz}zWT<57><54><EFBFBD><EFBFBD>z}z<7A><7F>zz||<7C><>z<EFBFBD>{WTmz~zzWTmz~z{WTmz~zWT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㘉溯器憔陬眠j楞穫<E6A59E><E7A9AB><EFBFBD><EFBFBD><EFBFBD>WTmz~{WTmz~|WTmzzzWT<57><54>WT<57><54>zzz}<7D>z}WT<57><54>z|{{<7B>z{WT<57>䮐z|{{WT<57><54><EFBFBD><EFBFBD>xxx𢖾搜飪音祚j嘀餓僭j溼j嘗綁硃蕭矩<E895AD><E79FA9><EFBFBD><EFBFBD>WTmzz{WT<57><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD>○噙j溼j粟懵措葛vj𢖾搜飪音祚WT嘀鬧xxWT𥛶罄螻姥xxx<78><78><EFBFBD><EFBFBD>WTmzz|WT<57><54>zzz}<7D>z}<7D><>WTmzz}WT<57><EFBFBD>䮐z|{|<7C>𨯧<EFBFBD><F0A8AFA7>zzzz<7A><7A>zz}zWT<57>𠻹zzz}<7D><EFBFBD><E89781>zzz<7A>zz}<7D>zzz<7A><7A>z{<7B><><EFBFBD>zzz<7A>zzz<7A>zz|WT<57><54>zz{{<7B><>z{z{<7B>zzz<7A>zzz<7A><7A>zz{zWT<57><54>zzz<7A>zz<7A>zz|<7C><>zz{z<><7A>zzzWT<57><54>zz{{<7B><>z{z{<7B>z{<7B>zzzz<7A><7A>zz|<7C><>zz|}<7D><>WTmz<6D>zzWT<57><EFBFBD>䮐z|{<7B><>鞴zzz<7A><7A>zzz~<7E><>zzz|WT<57><54>z~|<7C>zzz<7A>zzz<7A><7A>zz{zWT<57><54>zz{z<><7A>z~{<7B>zzz<7A>zz|<7C><>zz{z<><7A>z~|<7C>zzz<7A>zz|<7C><>z~z<7F>z{<7B><><EFBFBD>zzzWT<57><54>z~{<7B>zz}<7D>zz|<7C><>zz~zWT<57><54>z~|<7C>zz}<7D>zz|<7C><>zz~zWT<57><54>z~{<7B>zz<7A>zzz<7A><7A>zz}<7D>WT<57><54>z~|<7C>zzz<7A>zzz<7A><7A>zzzWT<57><54>z~{<7B>zzz<7A>zz|WT<57><54>z~{<7B>zz<7A>zzzWT<57><54>z~|<7C>zz<7A>zzz<7A><7A>zz|zWT<57><54>z~z<7F>z{z<>zzz<7A><7A>z~{<7B><>z~|<7C><>zz}zWT<57><54>z~z<7F>z|z<>zzz<7A><7A>zz<7A>z<EFBFBD><7A>zz{<7B><><EFBFBD>zzzzWT<57><54>z|zz<7A><7A><EFBFBD><EFBFBD>曎j褸義餓<E7BEA9><E9A493><EFBFBD><EFBFBD><EFBFBD>饂k<E9A582><6B>zz<7A><7A><EFBFBD><EFBFBD><EFBFBD>zzzWT<57><54>z~z<7F>馼z|}<7D>䮐z||<><7F>WTmz<6D>zWT<57><54>zz}WTmz<6D>{WT<57><54>zz{~WTmz<6D>|WT<57><54>zz<7A>Tmz<6D>zWT<57><54>zz<7A>Tmz<6D>{WT<57><54>zz<7A>zWTm{|zzWT<57><EFBFBD><E89781>{|zz<7A>z|z<>zz|WT<57><54>{|zz<7A>z{<7B><><EFBFBD>zzz{WT<57><54>z{zz<7A><7A>zzz{<7B><>zz{z<>|zz<7A>zz<7F>z}~

View file

@ -2,21 +2,24 @@ local function lifeCapsule3()
return {
name = "Life Capsule",
script = "<EVE0012",
attributes = {"nonProgressive", "hp3"}
attributes = {"nonProgressive", "hp3", "helpful"},
hints = {"a Life Capsule", "some health", "a little HP"}
}
end
local function lifeCapsule4()
return {
name = "Life Capsule",
script = "<EVE0013",
attributes = {"nonProgressive", "hp4"}
attributes = {"nonProgressive", "hp4", "helpful"},
hints = {"a Life Capsule", "some health", "some decent HP"}
}
end
local function lifeCapsule5()
return {
name = "Life Capsule",
script = "<EVE0014",
attributes = {"nonProgressive", "hp5"}
attributes = {"nonProgressive", "hp5", "helpful"},
hints = {"a Life Capsule", "some health", "a lot of HP"}
}
end
@ -24,14 +27,14 @@ local function missiles()
return {
name = "Missile Expansion",
script = "<EVE0030",
attributes = {"weapon", "missileLauncher", "nonProgressive"}
attributes = {"weapon", "missileLauncher", "nonProgressive", "helpful"},
}
end
local function event(n)
return {
name = "Event: " .. n,
attributes = {"event"},
attributes = {"event", "abstract"},
placed = true
}
end
@ -39,7 +42,7 @@ end
local function objective(n, eve)
return {
name = n,
attributes = {"objective"},
attributes = {"objective", "abstract"},
placed = true,
script = eve
}
@ -53,52 +56,60 @@ local function _itemData()
polarStar1 = {
name = "Polar Star",
script = "<EVE0002",
attributes = {"weapon", "weaponBoss", "weaponSN", "polarStar", "mandatory"}
attributes = {"weapon", "weaponBoss", "weaponSN", "polarStar", "mandatory"},
hints = {"the gunsmith's pride"}
},
polarStar2 = {
name = "Polar Star",
script = "<EVE0002",
attributes = {"weapon", "weaponBoss", "weaponSN", "polarStar", "mandatory"}
attributes = {"weapon", "weaponBoss", "weaponSN", "polarStar", "mandatory"},
hints = {"the gunsmith's pride"}
},
missileLauncher = {
name = "Missile Launcher",
script = "<EVE0030",
attributes = {"weapon", "weaponSN", "nonProgressive"}
attributes = {"weapon", "weaponSN", "nonProgressive", "helpful"},
},
superMissileLauncher = {
name = "Super Missile Launcher",
script = "<EVE0033",
attributes = {"weapon", "weaponSN", "missileLauncher", "nonProgressive"}
attributes = {"weapon", "weaponSN", "missileLauncher", "nonProgressive", "helpful"},
},
fireball = {
name = "Fireball",
script = "<EVE0004",
attributes = {"weapon", "weaponBoss", "mandatory"}
attributes = {"weapon", "weaponBoss", "mandatory"},
hints = {"the Fireball"}
},
snake = {
name = "Snake",
script = "<EVE0005",
attributes = {"weapon", "weaponBoss", "nonProgressive", "weaponStrong"}
attributes = {"weapon", "weaponBoss", "nonProgressive", "weaponStrong", "helpful"},
hints = {"the Snake"}
},
bubbler = {
name = "Bubbler",
script = "<EVE0007",
attributes = {"weapon", "weaponBoss", "nonProgressive"}
attributes = {"weapon", "weaponBoss", "nonProgressive", "helpful"},
hints = {"the Bubbler"}
},
machineGun = {
name = "Machine Gun",
script = "<EVE0008",
attributes = {"weapon", "weaponBoss", "weaponSN", "flight", "mandatory", "weaponStrong"}
attributes = {"weapon", "weaponBoss", "weaponSN", "flight", "mandatory", "weaponStrong"},
hints = {"the Machine Gun"}
},
blade = {
name = "Blade",
script = "<EVE0009",
attributes = {"weapon", "weaponBoss", "weaponSN", "mandatory", "weaponStrong"}
attributes = {"weapon", "weaponBoss", "weaponSN", "mandatory", "weaponStrong"},
hints = {"the Blade"}
},
nemesis = {
name = "Nemesis",
script = "<EVE0010",
attributes = {"weapon", "weaponBoss", "weaponSN", "nonProgressive", "weaponStrong"}
attributes = {"weapon", "weaponBoss", "weaponSN", "nonProgressive", "weaponStrong", "helpful"},
hints = {"the Nemesis"}
},
---------------
@ -107,67 +118,80 @@ local function _itemData()
mapSystem = {
name = "Map System",
script = "<EVE0052",
attributes = {"nonProgressive", "map"}
attributes = {"nonProgressive", "map"},
hints = {"the Map System", "a map"}
},
locket = {
name = "Silver Locket",
script = "<EVE0054",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Silver Locket", "some fishy jewelry", "a Mimiga's item"}
},
arthurKey = {
name = "Arthur's Key",
script = "<EVE0051",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"Arthur's Key", "a key", "a Mimiga's item"}
},
idCard = {
name = "ID Card",
script = "<EVE0057",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the ID Card", "a Mimiga's item"}
},
santaKey = {
name = "Santa's Key",
script = "<EVE0053",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"Santa's Key", "a key", "a Mimiga's item"}
},
lipstick = {
name = "Chaco's Lipstick",
script = "<EVE0087",
attributes = {"nonProgressive"}
attributes = {"nonProgressive", "useless"},
hints = {"Chaco's Lipstick", "some lipstick", "a Mimiga's item", "a lewd item"}
},
juice = {
name = "Jellyfish Juice",
script = "<EVE0058",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"some Jellyfish Juice", "a bomb ingredient"}
},
charcoal = {
name = "Charcoal",
script = "<EVE0062",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"some charcoal", "a bomb ingredient"}
},
rustyKey = {
name = "Rusty Key",
script = "<EVE0059",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Rusty Key", "a key"}
},
gumKey = {
name = "Gum Key",
script = "<EVE0060",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Gum Key", "a key"}
},
gumBase = {
name = "Gum Base",
script = "<EVE0061",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"some gum", "a bomb ingredient"}
},
bomb = {
name = "Bomb",
script = "<EVE0063",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"a bomb"}
},
panties = {
name = "Curly's Panties",
script = "<EVE0085",
attributes = {"nonProgressive"}
attributes = {"nonProgressive", "useless"},
hints = {"a pair of panties", "a lewd item"}
},
puppy1 = {
name = "Hajime",
@ -197,102 +221,122 @@ local function _itemData()
lifepot = {
name = "Life Pot",
script = "<EVE0065",
attributes = {"nonProgressive"}
attributes = {"nonProgressive", "helpful"},
hints = {"a Life Pot", "some medicine"}
},
turbocharge = {
name = "Turbocharge",
script = "<EVE0070",
attributes = {"nonProgressive"}
attributes = {"nonProgressive", "helpful"},
hints = {"the Turbocharge"}
},
clinicKey = {
name = "Clinic Key",
script = "<EVE0067",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Clinic Key", "a key"}
},
armsBarrier = {
name = "Arms Barrier",
script = "<EVE0069",
attributes = {"nonProgressive"}
attributes = {"nonProgressive", "helpful"},
hints = {"the Arms Barrier"}
},
cureAll = {
name = "Cure-All",
script = "<EVE0066",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Cure-All", "some medicine"}
},
booster1 = {
name = "Booster",
script = "<EVE0068",
attributes = {"flight", "booster", "mandatory"}
attributes = {"flight", "booster", "mandatory"},
hints = {"a Booster", "a rocket component"}
},
booster2 = {
name = "Booster",
script = "<EVE0068",
attributes = {"flight", "booster", "mandatory"}
attributes = {"flight", "booster", "mandatory"},
hints = {"a Booster", "a rocket component"}
},
towRope = {
name = "Tow Rope",
script = "<EVE0080",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Tow Rope"}
},
airTank = {
name = "Curly's Air Tank",
script = "<EVE0071",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"an air tank"}
},
alienMedal = {
name = "Alien Medal",
script = "<EVE0086",
attributes = {"nonProgressive"}
attributes = {"nonProgressive", "useless"},
hints = {"the Alien Medal", "a badge of victory"}
},
whimsicalStar = {
name = "Whimsical Star",
script = "<EVE0088",
attributes = {"nonProgressive"}
attributes = {"nonProgressive", "helpful"},
hints = {"the Whimsical Star"}
},
nikumaru = {
name = "Nikumaru Counter",
script = "<EVE0072",
attributes = {"nonProgressive"}
attributes = {"nonProgressive"},
hints = {"the Nikumaru Counter"}
},
teleportKey = {
name = "Teleporter Room Key",
script = "<EVE0075",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Teleporter Room Key", "a key"}
},
letter = {
name = "Sue's Letter",
script = "<EVE0076",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"Sue's Letter", "a Mimiga's item"}
},
mask = {
name = "Mimiga Mask",
script = "<EVE0074",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Mimiga Mask"}
},
brokenSprinkler = {
name = "Broken Sprinkler",
script = "<EVE0078",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Broken Sprinkler", "a sprinkler"}
},
newSprinkler = {
name = "Sprinkler",
script = "<EVE0079",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Sprinkler", "a sprinkler", "a rocket component"}
},
controller = {
name = "Controller",
script = "<EVE0077",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Controller", "a rocket component"}
},
mushroomBadge = {
name = "Mushroom Badge",
script = "<EVE0083",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Mushroom Badge", "a badge of victory"}
},
maPignon = {
name = "Ma Pignon",
script = "<EVE0084",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"Ma Pignon", "a living being"}
},
mrLittle = {
name = "Little Man",
@ -303,12 +347,14 @@ local function _itemData()
ironBond = {
name = "Iron Bond",
script = "<EVE0089",
attributes = {"mandatory"}
attributes = {"mandatory"},
hints = {"the Iron Bond"}
},
clayMedal = {
name = "Clay Figure Medal",
script = "<EVE0081",
attributes = {"nonProgressive"}
attributes = {"nonProgressive", "useless"},
hints = {"the Clay Figure Medal", "a badge of victory"}
},
-------------------
@ -336,12 +382,12 @@ local function _itemData()
missileD = { -- Egg Observation Room? (arbitrarily making this a backup Super Missile chest)
name = "Missile Expansion (Super Missile alt)",
script = "<EVE0038",
attributes = {"weapon", "missileLauncher", "nonProgressive"}
attributes = {"weapon", "missileLauncher", "nonProgressive", "helpful"}
},
missileHell = {
name = "Missile Expansion",
script = "<EVE0035",
attributes = {"weapon", "missileLauncher", "nonProgressive"}
attributes = {"weapon", "missileLauncher", "nonProgressive", "helpful"}
},
------------
@ -365,6 +411,18 @@ local function _itemData()
objAllBosses = objective("All Bosses", "<FL+6002<IT+0005")
}
local hintArray = {
mandatory = {"a required item"},
puppy = {"a required item", "a puppy", "a living being"},
helpful = {"a helpful item"},
useless = {"a useless item"},
weapon = {"a weapon"},
weaponSN = {"a weapon that breaks blocks"},
weaponStrong = {"a strong weapon"},
flight = {"a pair of wings", "a method of flight", "flight"},
missileLauncher = {"a Missile upgrade"}
}
local array = {}
for k, t in pairs(data) do
t.key = k
@ -372,11 +430,20 @@ local function _itemData()
t.attributes = t.attributes or {}
table.insert(t.attributes, k)
table.insert(array, t)
t.hints = t.hints or {}
for k,v in ipairs(t.attributes) do
for k2,v2 in ipairs(hintArray[v] or {}) do
table.insert(t.hints, v2)
end
end
end
return array
end
local C = Class:extend()
function C:new()
@ -426,4 +493,41 @@ function C:unplacedString()
return s
end
function C:createHint(l)
local function pick(t) return t[love.math.random(#t)] end
local location, item = l:getHint()
local starts = {"I hear that ", "Rumour has it, ", "They say "}
local mids = {" can be found ", " is ", " is hidden "}
local message = (pick(starts) or "") .. (pick(item) or "") .. (pick(mids) or "") .. (pick(location) or "") .. "."
local MSGBOXLIMIT = 42
local PATTERN = " [^ ]*$"
local line1, line2, line3 = "", "", ""
local split = 1
line1 = message:sub(split, split+MSGBOXLIMIT)
if line1:find(PATTERN) then
line1 = line1:sub(1, line1:find(PATTERN))
split = line1:find(PATTERN)+split
line2 = "\r\n" .. message:sub(split, split+MSGBOXLIMIT)
if line2:find(PATTERN) then
line2 = line2:sub(1, line2:find(PATTERN))
split = line2:find(PATTERN)+split
line3 = "\r\n" .. message:sub(split, split+MSGBOXLIMIT)
end
end
local s = "<PRI<MSG<TUR" .. line1 .. line2 .. line3 .. "<NOD<END"
return {
name = ("%q [%s] [%s]"):format(message, l.item.name, l.name),
atrributes = {"hint", "abstract"},
placed = true,
script = s
}
end
return C

View file

@ -1,10 +1,11 @@
local C = Class:extend()
function C:new(name, map, event, region)
function C:new(name, map, event, region, hints)
self.name = name
self.map = map
self.event = event
self.region = region
self.hintList = hints or {}
end
function C:fill(item, items)
@ -40,4 +41,8 @@ function C:writeItem(tscFiles, item)
tscFiles[self.map]:placeItemAtLocation(item, self)
end
function C:getHint()
return _.append(self.region.hintList, self.hintList), self.item.hints
end
return C

View file

@ -1,11 +1,12 @@
local C = Class:extend()
function C:new(worldGraph, name)
function C:new(worldGraph, name, hints)
self.locations = {}
self.world = worldGraph
self.name = name
self.order = worldGraph.order
worldGraph.order = worldGraph.order + 1
self.hintList = hints or {}
end
function C:canAccess(items)
@ -23,11 +24,11 @@ function C:getLocations(filterFn)
end
function C:getEmptyLocations()
return self:getLocations(function(k,v) return v.item == nil end)
return self:getLocations(function(k,v) return not v:hasItem() end)
end
function C:getFilledLocations()
return self:getLocations(function(k,v) return v.item ~= nil end)
return self:getLocations(function(k,v) return v:hasItem() end)
end
function C:writeItems(tscFiles)

View file

@ -6,7 +6,7 @@ function _has(items, attribute)
end
function _num(items, attribute)
return #_.filter(items, function(k,v) return _.contains(v.attributes, attribute) end)
return #_.filter(items, function(k,v) return _.contains(v.attributes or {}, attribute) end)
end
function _count(items, attribute, num)
@ -19,11 +19,11 @@ end
local firstCave = Region:extend()
function firstCave:new(worldGraph)
firstCave.super.new(self, worldGraph, "First Cave")
firstCave.super.new(self, worldGraph, "First Cave", {"in First Cave"})
self.locations = {
firstCapsule = Location("First Cave Life Capsule", "Cave", "0401", self),
gunsmithChest = Location("Hermit Gunsmith Chest", "Pole", "0202", self),
gunsmith = Location("Tetsuzou", "Pole", "0303", self),
gunsmithChest = Location("Hermit Gunsmith Chest", "Pole", "0202", self, {"at someone's house", "with Tetsuzou"}),
gunsmith = Location("Tetsuzou", "Pole", "0303", self, {"at someone's house", "with Tetsuzou"}),
objective = Location("Game Settings", "Start", "0201", self)
}
@ -42,16 +42,16 @@ end
local mimigaVillage = Region:extend()
function mimigaVillage:new(worldGraph)
mimigaVillage.super.new(self, worldGraph, "Mimiga Village")
mimigaVillage.super.new(self, worldGraph, "Mimiga Village", {"in Mimiga Village"})
self.locations = {
yamashita = Location("Yamashita Farm", "Plant", "0401", self),
reservoir = Location("Reservoir", "Pool", "0301", self),
yamashita = Location("Yamashita Farm", "Plant", "0401", self, {"underwater", "in a garden"}),
reservoir = Location("Reservoir", "Pool", "0301", self, {"underwater"}),
mapChest = Location("Mimiga Village Chest", "Mimi", "0202", self),
assembly = Location("Assembly Hall Fireplace", "Comu", "0303", self),
assembly = Location("Assembly Hall Fireplace", "Comu", "0303", self, {"in a fireplace"}),
mrLittle = Location("Mr. Little (Graveyard)", "Cemet", "0202", self),
grave = Location("Arthur's Grave", "Cemet", "0301", self),
mushroomChest = Location("Storage? Chest", "Mapi", "0202", self),
maPignon = Location("Ma Pignon Boss", "Mapi", "0501", self)
grave = Location("Arthur's Grave", "Cemet", "0301", self, {"with a fallen hero..", "in the Graveyard"}),
mushroomChest = Location("Storage? Chest", "Mapi", "0202", self, {"in the Graveyard"}),
maPignon = Location("Ma Pignon Boss", "Mapi", "0501", self, {"behind a boss", "behind Ma Pignon", "in the Graveyard"})
}
self.requirements = function(self, items)
@ -84,7 +84,7 @@ end
local arthur = Region:extend()
function arthur:new(worldGraph)
arthur.super.new(self, worldGraph, "Arthur's House")
arthur.super.new(self, worldGraph, "Arthur's House", {"in Mimiga Village", "at Arthur's House", "at someone's house"})
self.locations = {
risenBooster = Location("Professor Booster", "Pens1", "0652", self)
}
@ -104,12 +104,12 @@ end
local eggCorridor1 = Region:extend()
function eggCorridor1:new(worldGraph)
eggCorridor1.super.new(self, worldGraph, "Egg Corridor")
eggCorridor1.super.new(self, worldGraph, "Egg Corridor", {"in the Egg Corridor", "in the normal Egg Corridor"})
self.locations = {
basil = Location("Basil Spot", "Eggs", "0403", self),
cthulhu = Location("Cthulhu's Abode", "Eggs", "0404", self),
eggItem = Location("Egg Chest", "Egg6", "0201", self),
observationChest = Location("Egg Observation Room Chest", "EggR", "0301", self),
eggItem = Location("Egg Chest", "Egg6", "0201", self, {"in an egg"}),
observationChest = Location("Egg Observation Room Chest", "EggR", "0301", self, {"in the Egg Observation Room"}),
eventSue = Location("Saved Sue", nil, nil, self)
}
@ -122,14 +122,14 @@ end
local grasstownWest = Region:extend()
function grasstownWest:new(worldGraph)
grasstownWest.super.new(self, worldGraph, "Grasstown (West)")
grasstownWest.super.new(self, worldGraph, "Grasstown (West)", {"in Grasstown", "in West Grasstown"})
self.locations = {
keySpot = Location("West Grasstown Floor", "Weed", "0700", self),
jellyCapsule = Location("West Grasstown Ceiling", "Weed", "0701", self),
santa = Location("Santa", "Santa", "0501", self),
charcoal = Location("Santa's Fireplace", "Santa", "0302", self),
chaco = Location("Chaco's Bed, where you two Had A Nap", "Chako", "0211", self),
kulala = Location("Kulala Chest", "Weed", "0702", self)
santa = Location("Santa", "Santa", "0501", self, {"at Santa's House", "at someone's house"}),
charcoal = Location("Santa's Fireplace", "Santa", "0302", self, {"at Santa's House", "at someone's house", "in a fireplace"}),
chaco = Location("Chaco's Bed, where you two Had A Nap", "Chako", "0211", self, {"at Chaco's House", "in Chaco's bed", "at someone's house"}),
kulala = Location("Kulala Chest", "Weed", "0702", self, {"in a sticky situation"})
}
self.requirements = function(self, items)
@ -144,15 +144,15 @@ end
local grasstownEast = Region:extend()
function grasstownEast:new(worldGraph)
grasstownEast.super.new(self, worldGraph, "Grasstown (East)")
grasstownEast.super.new(self, worldGraph, "Grasstown (East)", {"in Grasstown", "in East Grasstown"})
self.locations = {
kazuma1 = Location("Kazuma Crack", "Weed", "0800", self),
kazuma2 = Location("Kazuma Chest", "Weed", "0801", self),
kazuma1 = Location("Kazuma Crack", "Weed", "0800", self, {"with Kazuma", "at the Shelter"}),
kazuma2 = Location("Kazuma Chest", "Weed", "0801", self, {"at the Shelter"}),
execution = Location("Execution Chamber", "WeedD", "0305", self),
outsideHut = Location("Grasstown East Chest", "Weed", "0303", self),
hutChest = Location("Grasstown Hut", "WeedB", "0301", self),
gumChest = Location("Gum Chest", "Frog", "0300", self),
malco = Location("MALCO", "Malco", "0350", self),
outsideHut = Location("Grasstown East Chest", "Weed", "0303", self, {"at Grasstown Hut"}),
hutChest = Location("Grasstown Hut", "WeedB", "0301", self, {"at Grasstown Hut"}),
gumChest = Location("Gum Chest", "Frog", "0300", self, {"behind a boss", "behind Balfrog"}),
malco = Location("MALCO", "Malco", "0350", self, {"with MALCO", "behind a boss", "behind Balrog 2"}),
eventFans = Location("Activated Grasstown Fans", nil, nil, self),
eventKazuma = Location("Saved Kazuma", nil, nil, self)
}
@ -186,11 +186,11 @@ end
local upperSandZone = Region:extend()
function upperSandZone:new(worldGraph)
upperSandZone.super.new(self, worldGraph, "Sand Zone (Upper)")
upperSandZone.super.new(self, worldGraph, "Sand Zone (Upper)", {"in the Sand Zone", "in Upper Sand Zone"})
self.locations = {
curly = Location("Curly Boss", "Curly", "0518", self),
panties = Location("Curly's Closet", "CurlyS", "0421", self),
curlyPup = Location("Puppy (Curly)", "CurlyS", "0401", self),
curly = Location("Curly Boss", "Curly", "0518", self, {"in the Sand Zone Residence", "with Curly", "at someone's house"}),
panties = Location("Curly's Closet", "CurlyS", "0421", self, {"in the Sand Zone Residence", "at someone's house"}),
curlyPup = Location("Puppy (Curly)", "CurlyS", "0401", self, {"in the Sand Zone Residence", "at someone's house", "where a puppy once was"}),
sandCapsule = Location("Polish Spot", "Sand", "0502", self),
eventOmega = Location("Defeated Omega", nil, nil, self)
}
@ -210,14 +210,14 @@ end
local lowerSandZone = Region:extend()
function lowerSandZone:new(worldGraph)
lowerSandZone.super.new(self, worldGraph, "Sand Zone (Lower)")
lowerSandZone.super.new(self, worldGraph, "Sand Zone (Lower)", {"in the Sand Zone", "in Lower Sand Zone"})
self.locations = {
chestPup = Location("Puppy (Chest)", "Sand", "0423", self),
darkPup = Location("Puppy (Dark)", "Dark", "0401", self),
runPup = Location("Puppy (Run)", "Sand", "0422", self),
sleepyPup = Location("Puppy (Sleep)", "Sand", "0421", self),
pawCapsule = Location("Pawprint Spot", "Sand", "0503", self),
jenka = Location("Jenka", "Jenka2", "0221", self),
chestPup = Location("Puppy (Chest)", "Sand", "0423", self, {"where a puppy once was"}),
darkPup = Location("Puppy (Dark)", "Dark", "0401", self, {"where a puppy once was"}),
runPup = Location("Puppy (Run)", "Sand", "0422", self, {"where a puppy once was", "with a puppy"}),
sleepyPup = Location("Puppy (Sleep)", "Sand", "0421", self, {"where a puppy once was", "at the far end of Sand Zone"}),
pawCapsule = Location("Pawprint Spot", "Sand", "0503", self, {"with a fallen hero..", "in a garden", "behind a boss", "behind Toroko+"}),
jenka = Location("Jenka", "Jenka2", "0221", self, {"with Jenka", "at someone's house", "where a puppy once was"}),
king = Location("King", "Gard", "0602", self),
eventToroko = Location("Defeated Toroko+", nil, nil, self)
}
@ -241,14 +241,14 @@ end
local labyrinthW = Region:extend()
function labyrinthW:new(worldGraph)
labyrinthW.super.new(self, worldGraph, "Labyrinth (West)")
labyrinthW.super.new(self, worldGraph, "Labyrinth (West)", {"in the Labyrinth", "in West Labyrinth"})
self.locations = {
mazeCapsule = Location("Labyrinth Life Capsule", "MazeI", "0301", self),
turboChaba = Location("Chaba Chest (Machine Gun)", "MazeA", "0502", self),
snakeChaba = Location("Chaba Chest (Fireball)", "MazeA", "0512", self),
whimChaba = Location("Chaba Chest (Spur)", "MazeA", "0522", self),
campChest = Location("Camp Chest", "MazeO", "0401", self),
physician = Location("Dr. Gero", "MazeO", "0305", self),
turboChaba = Location("Chaba Chest (Machine Gun)", "MazeA", "0502", self, {"with Chaba", "in Chaba's Machine Gun chest"}),
snakeChaba = Location("Chaba Chest (Fireball)", "MazeA", "0512", self, {"with Chaba", "in Chaba's Fireball chest"}),
whimChaba = Location("Chaba Chest (Spur)", "MazeA", "0522", self, {"with Chaba", "in Chaba's Spur chest"}),
campChest = Location("Camp Chest", "MazeO", "0401", self, {"in the Camp"}),
physician = Location("Dr. Gero", "MazeO", "0305", self, {"in the Camp"}),
puuBlack = Location("Puu Black Boss", "MazeD", "0201", self)
}
@ -269,11 +269,12 @@ function labyrinthW:new(worldGraph)
self.locations.whimChaba.requirements = function(self, items) return _count(items, "polarStar", 2) end
self.locations.campChest.requirements = function(self, items) return _has(items, "flight") or self.region.world:Camp() or self.region.world:_dboost(items, 'camp') end
self.locations.puuBlack.requirements = function(self, items) return _has(items, "clinicKey") and _has(items, "weaponBoss") end
end
local labyrinthB = Region:extend()
function labyrinthB:new(worldGraph)
labyrinthB.super.new(self, worldGraph, "Labyrinth B")
labyrinthB.super.new(self, worldGraph, "Labyrinth B", {"in the Labyrinth"})
self.locations = {
fallenBooster = Location("Booster Chest", "MazeB", "0502", self)
}
@ -289,11 +290,11 @@ end
local boulder = Region:extend()
function boulder:new(worldGraph)
boulder.super.new(self, worldGraph, "Labyrinth (East)")
boulder.super.new(self, worldGraph, "Labyrinth (East)", {"in the Labyrinth", "in East Labyrinth", "behind a boss"})
self.locations = { --include core locations since core access reqs are identical to boulder chamber
boulderChest = Location("Boulder Chest", "MazeS", "0202", self),
coreSpot = Location("Robot's Arm", "Almond", "0243", self),
curlyCorpse = Location("Drowned Curly", "Almond", "1111", self),
boulderChest = Location("Boulder Chest", "MazeS", "0202", self, {"behind Balrog 3"}),
coreSpot = Location("Robot's Arm", "Almond", "0243", self, {"underwater", "behind the Core"}),
curlyCorpse = Location("Drowned Curly", "Almond", "1111", self, {"with Curly", "underwater", "behind the Core"}),
eventCore = Location("Defeated Core", nil, nil, self)
}
@ -322,7 +323,7 @@ end
local waterway = Region:extend()
function waterway:new(worldGraph)
waterway.super.new(self, worldGraph, "Waterway")
waterway.super.new(self, worldGraph, "Waterway", {"in the Waterway", "underwater", "behind a boss", "behind Ironhead"})
self.locations = {
ironhead = Location("Ironhead Boss", "Pool", "0412", self),
@ -340,11 +341,11 @@ end
local eggCorridor2 = Region:extend()
function eggCorridor2:new(worldGraph)
eggCorridor2.super.new(self, worldGraph, "Egg Corridor?")
eggCorridor2.super.new(self, worldGraph, "Egg Corridor?", {"in the Egg Corridor", "in ruined Egg Corridor"})
self.locations = {
dragonChest = Location("Dragon Chest", "Eggs2", "0321", self),
sisters = Location("Sisters Boss", "EggR2", "0303", self)
sisters = Location("Sisters Boss", "EggR2", "0303", self, {"behind a boss", "in the Egg Observation Room", "behind the Sisters"})
}
self.requirements = function(self, items)
@ -360,11 +361,11 @@ end
local outerWall = Region:extend()
function outerWall:new(worldGraph)
outerWall.super.new(self, worldGraph, "Outer Wall")
outerWall.super.new(self, worldGraph, "Outer Wall", {"outside", "along the Outer Wall"})
self.locations = {
clock = Location("Clock Room", "Clock", "0300", self),
littleHouse = Location("Little House", "Little", "0204", self)
littleHouse = Location("Little House", "Little", "0204", self, {"with Mr. Little", "at someone's house"})
}
self.requirements = function(self, items)
@ -379,18 +380,18 @@ end
local plantation = Region:extend()
function plantation:new(worldGraph)
plantation.super.new(self, worldGraph, "Plantation")
plantation.super.new(self, worldGraph, "Plantation", {"in the Plantation", "in a garden"})
self.locations = {
kanpachi = Location("Kanpachi's Bucket", "Cent", "0268", self),
jail1 = Location("Jail no. 1", "Jail1", "0301", self),
momorin = Location("Chivalry Sakamoto's Wife", "Momo", "0201", self),
sprinkler = Location("Broken Sprinkler", "Cent", "0417", self),
megane = Location("Megane", "Lounge", "0204", self),
itoh = Location("Itoh", "Itoh", "0405", self),
kanpachi = Location("Kanpachi's Bucket", "Cent", "0268", self, {"with Kanpachi", "underwater"}),
jail1 = Location("Jail no. 1", "Jail1", "0301", self, {"with Mahin"}),
momorin = Location("Chivalry Sakamoto's Wife", "Momo", "0201", self, {"with Momorin", "at someone's house"}),
sprinkler = Location("Broken Sprinkler", "Cent", "0417", self, {"for Mimiga only"}),
megane = Location("Megane", "Lounge", "0204", self, {"for Mimiga only"}),
itoh = Location("Itoh", "Itoh", "0405", self, {"with Itoh"}),
plantCeiling = Location("Plantation Platforming Spot", "Cent", "0501", self),
plantPup = Location("Plantation Puppy", "Cent", "0452", self),
curlyShroom = Location("Jammed it into Curly's Mouth", "Cent", "0324", self),
plantPup = Location("Plantation Puppy", "Cent", "0452", self, {"with a puppy"}),
curlyShroom = Location("Jammed it into Curly's Mouth", "Cent", "0324", self, {"with Curly"}),
eventRocket = Location("Built Rocket", nil, nil, self)
}
@ -419,7 +420,7 @@ end
local lastCave = Region:extend()
function lastCave:new(worldGraph)
lastCave.super.new(self, worldGraph, "Last Cave")
lastCave.super.new(self, worldGraph, "Last Cave", {"behind a boss", "in Last Cave", "behind the Red Demon"})
self.locations = {
redDemon = Location("Red Demon Boss", "Priso2", "0300", self)
@ -430,7 +431,7 @@ end
local endgame = Region:extend()
function endgame:new(worldGraph)
endgame.super.new(self, worldGraph, "Sacred Grounds")
endgame.super.new(self, worldGraph, "Sacred Grounds", {"in Hell"})
self.locations = {
hellB1 = Location("Hell B1 Spot", "Hell1", "0401", self),
@ -442,6 +443,22 @@ function endgame:new(worldGraph)
end
end
local hintRegion = Region:extend()
function hintRegion:new(worldGraph)
hintRegion.super.new(self, worldGraph, "Hints")
self.locations = {
cthulhuEgg = Location("Cthulhu (his Abode)", "Cthu", "0200", self),
cthulhuWeed1 = Location("Cthulhu (West Grasstown)", "Weed", "0201", self),
cthulhuWeed2 = Location("Cthulhu (East Grasstown)", "Weed", "0205", self),
cthulhuPlant = Location("Cthulhu (Plantation)", "Cent", "0310", self),
bluebotEgg = Location("Blue Robot (Egg Corridor)", "Eggs", "0200", self),
bluebotEgg2 = Location("Blue Robot (Egg Corridor?)", "Eggs2", "0210", self),
bluebotMaze = Location("Blue Robot (Labyrinth I #1)", "MazeI", "0500", self),
bluebotMaze2 = Location("Blue Robot (Labyrinth I #2)", "MazeI", "0502", self)
}
end
local worldGraph = Class:extend()
function worldGraph:new(items)
@ -483,6 +500,8 @@ function worldGraph:new(items)
lastCave = lastCave(self),
endgame = endgame(self)
}
self.hintregion = hintRegion(self)
end
function worldGraph:_dboost(items, key)
@ -567,18 +586,35 @@ function worldGraph:emptyString()
return s
end
function worldGraph:getFilledLocations()
function worldGraph:getFilledLocations(realOnly)
local locations = {}
for key, region in pairs(self.regions) do
for k, location in pairs(region:getFilledLocations()) do
table.insert(locations, location)
if not realOnly or not (_.find(location.item.attributes,"abstract") or _.find(location.item.attributes,"mrLittle")) then table.insert(locations, location) end
end
end
return locations
end
function worldGraph:getHintLocations()
return self.hintregion:getEmptyLocations()
end
function worldGraph:getHintableLocations(obj)
local locations = {}
for k, location in pairs(_.shuffle(self:getFilledLocations(true))) do
if obj == "objBadEnd" and location.item.name == "Rusty Key" or location.item.name == "ID Card" then
table.insert(locations, 1, location) -- put that item on the top to guarantee a hint for it
else
table.insert(locations, location)
end
end
return _.slice(locations, 1, 8)
end
function worldGraph:writeItems(tscFiles)
for key, region in pairs(self.regions) do region:writeItems(tscFiles) end
self.hintregion:writeItems(tscFiles)
end
function worldGraph:collect(preCollectedItems)
@ -626,6 +662,7 @@ function worldGraph:logLocations()
for k,v in pairs(self.regions) do
table.insert(array, v)
end
table.insert(array, self.hintregion)
local function sort(a,b)
return a.order < b.order
end

View file

@ -212,6 +212,7 @@ function C:_shuffleItems(tscFiles)
logWarning(("Trying to fill more optional items than there are locations! Items: %d Locations: %d"):format(opt, loc))
end
self:_fastFillItems(optional, shuffle(self.worldGraph:getEmptyLocations()))
self:_generateHints()
self.worldGraph:writeItems(tscFiles)
self.worldGraph:logLocations()
@ -246,6 +247,13 @@ function C:_fastFillItems(items, locations)
end
end
function C:_generateHints()
local toHint = _.shuffle(self.worldGraph:getHintableLocations(self.obj))
for k, hintLocation in ipairs(_.shuffle(self.worldGraph:getHintLocations())) do
hintLocation.item = self.worldGraph.items:createHint(_.pop(toHint))
end
end
function C:_writeModifiedData(tscFiles)
local basePath = self:_getWritePathStage()
for filename, tscFile in pairs(tscFiles) do