diff --git a/pre-edited-cs/data/Stage/Cent.tsc b/pre-edited-cs/data/Stage/Cent.tsc
index 3d8835f..723bdd2 100644
--- a/pre-edited-cs/data/Stage/Cent.tsc
+++ b/pre-edited-cs/data/Stage/Cent.tsc
@@ -1 +1 @@
-0==F=IZ[NIPZb==?AISNV====IR[Q0==F>IZ[NIPZb==?AISNV===>IR[Q0==F?IZ[NIPZb==?AISNV===?IR[Q0==F@IZ[NIPZb==?AISNV===@IR[Q0==FAIZ[NIPZb==?AISNV===AIR[Q0=>==IXRfI`\b==>>IN[]=>==G====G===?ISN\===?Ia_N==BBG==F?G===@G===F0=>>=IXRfISN\===?Ia_N==BDG==F?G===BG==>A0=>>BIXRfI`\b==>>IN[]=>>BG====G===?ISN\===?Ia_N==BDG==F?G===@G===?0=>?=I]_VISYW>>=BG=>??IZ`TIab_dun�4€-�ur-}n€€„|qLI[\QIVaW==?CG=>?>IR[Q0=>?>IZ`TIab_/Yv�ntn{|-Z|�€p|‚q/;I[\QIPY\IXRfI`\b==>>IN[]=>?=G====G===?ISN\===@Ia_N==BEG==F@G===FG===A0=>??IXRfI`\b==>>IN[]=>?=G====G===?ISN\===@Ia_N==BEG==F@G===FG===A0=>@=IXRfI`\b==>>IN[]=>@=G====G===?ISN\====Ia_N==BFG==F=G==?CG===E0=>@BI]_VISYW>=?@G=>@DIVaW==?BG=>@CIZ`TIab_V�-€n†€-/[|-R{�†/;I[\QN{q-v�4€-y|pxrq;I[\QIR[Q0=>@CI`\b==??IZ`TIab_ITVa>=?Bb€rq-�ur-Jaryr}|�r-_||z-Xr†J;I[\QIPY\IVa:==?BITVa====ISY8>=?@IRcR=>@D0=>@DIXRfI`\b==>>IN[]=>@BG====G===?ISN\====Ia_N==C=G==F=G==>EG===F0=>A=IXRfISN\====Ia_N==C>G==F=G==?FG===F0=>B=I]_VISYW>=@=G=>B>ISYWCA==G=>B>IZ`TV�4€-€�vyy-�||-rny†-�|-p|zrurr;;;I[\QIR[Q0=>B>IXRfI`\b==>>IN[]=>B=G====G===?ISN\===?IVaW==?@G=>C=IXRfIa_N==C@G==F?G===DG==B?0=>C=IXRfIa_N==CDG==F?G===DG==B?0=>D=IXRfISN\===?Ia_N==EAG==F?G===>G==?>0=>FFIZ\c==DAG==DFIR[Q0=?==I]_VISYW>=?=G=?=>IRcR=?FF0=?=>I]_VIZ`TIab_aur-€‚snpr-q„ryyr€-nr-}yn{{v{tn{-n��npx-|{-‚€9-€|-„r4r-nv€v{trq-sy|„r€-�|-}r}nr;I[\QIPY_Vs-„un�-�ur-Q|p�|-€n†€-v€�‚r9-�ur€r-sy|„r€-or��roy||z-sn€�9-|-ry€r;I[\QIR[Q0=?>=I]_VISYW>=?=G=?>>IRcR=?FF0=?>>I]_VIZ`TIab_dv�u-�ur-rq-sy|„r€-|{-|‚€vqr9-�u|€r-xvyyr-|o|�€4yy-orn-}vrpr-|s-pnxr.I[\QIPY_Oy||z-n„n†9-z†-pvz€|{-qnv{�vr€.I[\QIR[Q0=??=I]_VISYW>=?=G=??>IRcR=?FF0=??>I]_VIZ`TIab_Y|{t-yvƒr-�ur-Q|p�|.I[\QIR[Q0=?@=I]_VISYW>=?=G=?@>IRcR=?FF0=?@>I]_VIZ`TIab_Tr�-�|-„|x.I[\QIR[Q0=?A=I]_VISYW>=@DG=?A?ISYW>=?=G=?A>IRcR=?FF0=?A>I]_VISY8>=@DIZ`TIab_\u|;I[\QIPY_f|‚4r-{r„-urr9-nr{4�-†n;I[\QIPY_V-or�-†|‚4r-€�vyy-p|{s‚€rq9orv{t-}vpxrq-‚}-n{q-q|}}rqurr-nyy-|s-n-€‚qqr{;I[\QIPY_dryy9-w‚€�-rzrzor;I[\QQ|{4�-�†-n{†�uv{t-s‚{{†;I[\QIPY_Vs-†|‚-‚{-n„n†-n{q-tr�pn‚tu�9-�ur†4yy-�u|„-†|‚v{-}v€|{;I[\QIPY_N€-y|{t-n€-†|‚-w‚€�-�r{q-�|�ur-sy|„r€9-†|‚4yy-or-€nsr9n{q-†|‚4yy-tr�-�|-rn�;I[\QIR[Q0=?A?I]_VIZ`TIab_U|„4€-�ur-„|x-t|v{4LI[\QIPY_dv�u-n{†-y‚px9-„r4yy-oronpx-�|-|‚-y|{t9-ryn…v{tqn†€-v{-{|-�vzr;I[\QIPY_;;;V-zrn{9-„r-„vyy9-„|{4�-„rLI[\QIR[Q0=?B=I]_VIVaW==?FG=?BAISYW>=?FG=?B@ISYW>=?=G=?B?I]_VIZ`TIab_Zn{9-�ur€r-€}v{xyr€-w‚€�;;;I[\QIPY_du||}€;[|�-€‚}}|€rq-�|-�nyx-�|-u‚zn{€;I[\QIR[Q0=?B>I]_VIZ`TIab_aur€r-€}v{xyr€-nr-un{q†9-o‚��ur†-€‚r-ornx-nyy-�ur-�vzr;I[\QIR[Q0=?B?I]_VISY8>=?FIZ`TIab_V�-o‚€�rq-ntnv{.I[\QIPY_;;;;;I[\QIPY_Ur†9-†|‚;f|‚4r-�ur-{r„-t‚†9-vtu�LI[\QIPY_T|-�nxr-�un�-o‚€�rq-€}v{xyrv{-n{q-r…pun{tr-v�-s|-n-{r„|{r;I[\QIR[Q0=?B@I]_VIZ`TIab_U‚†-v�-‚}.-aur-sy|„r-o‚q€nr-tr��v{t-}npurq;I[\QIPY_T|-�nxr-�un�-o‚€�rq-€}v{xyrv{-n{q-r…pun{tr-v�-s|-n-{r„|{r;I[\QIR[Q0=?BAI]_VIZ`TIab_V�4€-�ur-rq-sy|„r€-�un�znxr-‚€-}|„rs‚y-„nv|€.I[\QIPY_dr-Zvzvtn€-unq-�uv€-sr|pv�†v{-‚€-nyy-ny|{t;I[\QIPY_`|-�ur-�vzr-„r-s|‚tu�-�ur-|o|�€„n€{4�-w‚€�-n{-|yq-yrtr{q.I[\QIPY_Uru:uru:uru;;;I[\QIPY_Oy||z9-yv��yr-sy|„r€;;;I[\Qa‚�u-or-�|yq9-V4z-tr��v{tn-ov�-€vpx-|s-snzv{t;I[\QIR[Q0=?C=I]_VI`NaISYW>=?@G=?C@ISYW>=??G=?C?ISYW>=@BG=?C>ISY8>=@BIZ`TV-pn‚tu�-€|zr�uv{t-„rvqw‚€�-{|„;I[\QV�4€-v{-�ur-o‚pxr�-�urr;I[\QIR[Q
0=?C>I]_VIZ`TV�4€-v{-�ur-o‚pxr�-�urr;I[\QIR[Q0=?C?I]_VIZ`Tdurr-q|r€-�un�-xr†-t|9-V-„|{qrLI[\QIPY_f|‚4q-�uv{x-v�4q-zn�pu‚}-„v�u-€|zr�uv{t-n|‚{q-urr;;;I[\QIPY_Zn{9-V4z-u‚{t†;;;I[\QIR[Q0=?C@I]_VIZ`TV4z-{|�-pn�puv{t-N[faUV[T;I[\QIR[Q0=?CBI]_VISYW>=??G=?CDIRcR=?CC0=?CCISY8>=??IRcR=?CE0=?CDI]_VIZ`TIab_[|�uv{t-v{-urr-n{†z|r;;;I[\QIR[Q0=?CEIRcR==DB0=?FFI]_VIZ`T;;;;;I[\QIR[Q0=@==0=@=>0=@>=I]_VI`NaISYW>=ABG=@>@ISYW>=A>G=@>>ISYW>=AAG=@>?IZ`TN-zn{-s|z-�ur-€‚snpr9-�urQ|p�|9-v€-‚€v{t-�ur-Zvzvtn€-�|p‚y�vƒn�r-rq-sy|„r€;I[\QIPY_auv€-v€{4�-�ur-sv€�-�vzr�uv€-€|�-|s-�uv{t-un€un}}r{rq;;;I[\QIR[Q0=@>>I]_VIZ`TS|‚{q-�uv€-|{r-y†v{t-v{-�ur€}v{t;I[\QIPY_`n†€-€ur-q|r€{4�-rƒr{-rzrzor„u|-€ur-v€;;;I[\QIPY_W‚€�-n-}vrpr-|s-w‚{x9-V-t‚r€€;I[\QISY8>=AAIRcR=@>?0=@>?I]_VIZ`T[|„-�un�-†|‚-zr{�v|{-v�;;;I[\Qaurr4€-n-pr�nv{-xv{q-|sz‚€u||z9-V4z-�|yq9I[\QIPY_�un�-ov{t€-onpx-zrz|vr€„ur{-†|‚-rn�-v�;;;I[\Qd|{qr-vs-v�4q-„|x-|{-urLI[\QIR[Q0=@>@I]_VIZ`Tdun�4€-�un�LUr-zrz|vr€-nr-onpxLI[\QIPY_]ss�;-Yvxrq-v�-or��r-�ur|yq-„n†;I[\QIR[Q0=@?=I]_VI`NaISYW>=ACG=@?BISYW>=ABG=@?AISYW>=?=G=@?>ISY8>=A>IZ`TISNP==?Bdu|;;;-nr-†|‚;;;LI[\QIVaW==@AG=@??IR[Q0=@?>I]_VIZ`TISNP==?B\u;;;I[\Qf|‚4r-€|-p‚�r;;;I[\QIPY_Q|{4�-t|-�||-sn;I[\QN{q-„n�pu-|‚�-s|-�uronq-|o|�€;;;I[\QIVaW==@AG=@??IR[Q0=@??I]_VISNP====IZ`TIab_ITVa>=@AIVa:==@AIPZb====IPY_ISY8>=ACWnzzrq-v�-v{�|-P‚y†4€-z|‚�u;I[\QIPY_IPY\IdNV==B=IR^:==CAIdNV==B=ISY8>=ABI_ZbISYW>=?=G=@?@IRcR=@?A0=@?@I]_VIR^8==CAIRcR=@?A0=@?AIRcR==EF0=@?BI]_VIZ`TISNP==>FV4z-sv{r-{|„;I[\QIR[Q0=@B=I]_VIZ`TIab_Q|-†|‚-„n{�-�|-syv}-�ur€„v�puLIf[W====IPY\IN[]=@B=G==>=G====IR[Q0=@C=I]_VIZ`TIab_ISNP==?EV4z-onpx.I[\QIPY_[|-‚€r-v{-uvqv{tn{†z|r9-†|‚-x{|„LI[\QIPY_N{q-n{†„n†9-�ur-|pxr�p|‚yq{4�-or-sv{v€urq„v�u|‚�-zr-urr.I[\QIPY_O†-�ur-„n†;;;I[\QIPY_Vs-†|‚-qrsrn�-�ur-Q|p�|9I[\QIPY_q|-†|‚-�uv{x-V4yy-ornoyr-�|-orp|zr-n-u‚zn{ntnv{;;;LI[\QIR[Q0=@D=I]_VI`NaISYW>=@AG=@E=IZ`TISNP==??ISY8>=@AQvq-†|‚-unƒr-n-t||qr€�LI[\QIPY_aur-|pxr�4€-nyy-q|{r;I[\QIPY_f|‚4yy-or-noyr-�|-�nxrq|„{-�ur-Q|p�|9-vtu�LI[\QV-oryvrƒr-v{-†|‚;I[\QIR[Q0=@E=I]_VIZ`TISNP==??Qvrp�y†-no|ƒr-‚€-v€-n}n�u-�|-�ur-�u|{r-||z;I[\QIPY_f|‚-€u|‚yq-or-noyr-�|tr�-�urr-‚€v{t-�ur|pxr�;I[\QIR[Q0=A==I]_VISYW>>=?G=A=>IZ`TIab_V�4€-€}r„v{t-|‚�-„n�rn�-n-svtu�r{v{t-n�r;I[\QIR[Q0=A=>I]_VIZ`TIab_Ur†.-dr-{rrq-�un�-urr.I[\QIR[Q0=A>=I]_VISYW>>=?G=A>>IZ`TIab_V�4€-€}r„v{t-|‚�-„n�rn�-n-svtu�r{v{t-n�r;I[\QIR[Q0=A>>I]_VIZ`TIab_Ur†.-dr-{rrq-�un�-urr.I[\QIR[Q0=A>BI]_VISYW?A=DG===>ISYW>=?=G=A>CIZ`TIab_Ur†.Q|{4�-�|‚pu-�un�9-u‚zn{.I[\QIR[Q0=A>CI]_VISYW?A=DG===>ISY8?A=DI`\b==??IP[]=A>BG==?>G====IRcR=A>D0=A>DIRcR==DE0=AB=I]_VISYW>=A=G=AB>ISY8>=A=IZ`TIab_Y|{t-�vzr-{|-ns.I[\QIPY_IVaW==>BG=AB?ITVa>=>BIVa8==>BT|�-n-JYvsr-]|�J.IdNV==?BI[\QITVa====IRcR=AB?0=AB>I]_VIZ`TIab_`|-†|‚4r-t|v{t-�|-svtu��ur-Q|p�|L-T||q-y‚px.Z†-�nvy-„nt€-|{y†-s|-†|‚.I[\QIPY_\u9-†rnu9-n{q-�ryy-P‚y†-V€nvq-uv.I[\QIR[Q0=AB?IRcR==>A0=AC=I]_VIZ`TIab_dn�pu-|‚�-s|-T‚{sv€u.-5[|�rGau|€r-„u|-‚€r-�urz-n€-}yn�s|z€q|-€|-n�-�urv-|„{-v€x;6I[\QIR[Q0=AE=IXRfIUZPIS\[=AE>G==>CIZ[]=AE>G==@AG=>>EG====IN[]=AE>G==?=G===?IdNV=@?=IN[]=AE>G====G====IZ\c==D@G=>>=I`ZPIZfO===?IS\Z==>CIR[Q0=AE>0=B==I]_VI`\b==??IQ[]=B==IRcR=B=>0=B=>IRcR==>@0>?==IXRfIN[]>?==G==?=G====IS\[>?==G==>CISNV===>IdNV=>==ISN\===>ISZbIdNV=?==Ia_N==F>G=>==G===>G===>
\ No newline at end of file
+?<Ubbkb?<n€snu‡bbdfnxs{bbbbnw€v?<Ubbkc?<n€snu‡bbdfnxs{bbbcnw€v?<Ubbkd?<n€snu‡bbdfnxs{bbbdnw€v?<Ubbke?<n€snu‡bbdfnxs{bbbenw€v?<Ubbkf?<n€snu‡bbdfnxs{bbbfnw€v?<Ubcbb?<n}w‹n…�‡bbccns€‚bcbblbbbblbbbdnxs�bbbdn†„sbbgglbbkdlbbbelbbbk?<Ubccb?<n}w‹nxs�bbbdn†„sbbgilbbkdlbbbglbbcf?<Ubccg?<n}w‹n…�‡bbccns€‚bccglbbbblbbbdnxs�bbbdn†„sbbgilbbkdlbbbelbbbd?<Ubcdb?<n‚„{nx~|ccbglbcddn…yn†‡„‰š“¦Y¥R¦š—R¢“¥¥©¡¤–qn€�vn{†|bbdhlbcdcnw€v?<Ubcdc?<n…yn†‡„?<T~›¦“™“ ¡R¡¦¥•¡§–T`n€�vnu~�?<n}w‹n…�‡bbccns€‚bcdblbbbblbbbdnxs�bbben†„sbbgjlbbkelbbbklbbbf?<Ubcdd?<n}w‹n…�‡bbccns€‚bcdblbbbblbbbdnxs�bbben†„sbbgjlbbkelbbbklbbbf?<Ubceb?<n}w‹n…�‡bbccns€‚bceblbbbblbbbdnxs�bbbbn†„sbbgklbbkblbbdhlbbbj?<Ubceg?<n‚„{?<nx~|cbdelbcei?<n{†|bbdglbceh?<n…yn†‡„{¦R¥“«¥RT€¡Rw ¦¤«T`n€�v?<s –R›¦Y¥Rž¡•�—–`n€�vnw€v?<Ubceh?<n…�‡bbddn…yn†‡„ny{†cbdg‡¥—–R¦š—Ro†—ž—¢¡¤¦—¤R„¡¡ŸR}—«o`n€�vnu~�n{†_bbdg?<ny{†bbbbnx~]cbdenwˆwbcei?<Ubcei?<n}w‹n…�‡bbccns€‚bceglbbbblbbbdnxs�bbbbn†„sbbhblbbkblbbcjlbbbk?<Ubcfb?<n}w‹nxs�bbbbn†„sbbhclbbkblbbdklbbbk?<Ubcgb?<n‚„{nx~|cbeblbcgcnx~|hfbblbcgcn…y{¦Y¥R¥¦›žžR¦¡¡R—“¤ž«R¦¡R•¡Ÿ—?<š—¤—```n€�vnw€v?<Ubcgc?<n}w‹n…�‡bbccns€‚bcgblbbbblbbbdnxs�bbbd?<n{†|bbdelbchb?<n}w‹n†„sbbhelbbkdlbbbilbbgd?<Ubchb?<n}w‹n†„sbbhilbbkdlbbbilbbgd?<Ubcib?<n}w‹nxs�bbbdn†„sbbjflbbkdlbbbclbbdc?<Ubckk?<n�ˆbbiflbbiknw€v?<Ubdbb?<n‚„{nx~|cbdblbdbc?<nwˆwbdkk?<Ubdbc?<n‚„{n…yn†‡„†š—R¥§¤˜“•—R–©—žž—¤¥R“¤—R¢ž“  › ™?<“ R“¦¦“•�R¡ R§¥^R¥¡R©—Y¤—R¤“›¥› ™?<¤—–R˜ž¡©—¤¥R¦¡R¢¤—¢“¤—`n€�vnu~„{˜R©š“¦R¦š—Rv¡•¦¡¤R¥“«¥R›¥?<¦¤§—^R¦š—¥—R˜ž¡©—¤¥R”—¦¦—¤?<”ž¡¡ŸR˜“¥¦^R¡¤R—ž¥—`n€�vnw€v?<Ubdcb?<n‚„{nx~|cbdblbdcc?<nwˆwbdkk?<Ubdcc?<n‚„{n…yn†‡„‰›¦šR¦š—R¤—–R˜ž¡©—¤¥R¡ R¡§¤?<¥›–—^R¦š¡¥—R�›žž—¤R¤¡”¡¦¥YžžR”—?<“R¢›—•—R¡˜R•“�—Sn€�vnu~„tž¡¡ŸR“©“«^RŸ«R•¤›Ÿ¥¡ R–“› ¦›—¥Sn€�vnw€v?<Ubddb?<n‚„{nx~|cbdblbddc?<nwˆwbdkk?<Ubddc?<n‚„{n…yn†‡„~¡ ™Rž›¨—R¦š—Rv¡•¦¡¤Sn€�vnw€v?<Ubdeb?<n‚„{nx~|cbdblbdec?<nwˆwbdkk?<Ubdec?<n‚„{n…yn†‡„y—¦R¦¡R©¡¤�Sn€�vnw€v?<Ubdfb?<n‚„{?<nx~|cbeilbdfd?<nx~|cbdblbdfc?<nwˆwbdkk?<Ubdfc?<n‚„{nx~]cbein…yn†‡„�š¡`n€�vnu~„‹¡§Y¤—R —©Rš—¤—^R“¤— Y¦R«“`n€�v?<nu~„{R”—¦R«¡§Y¤—R¥¦›žžR•¡ ˜§¥—–^?<”—› ™R¢›•�—–R§¢R“ –R–¤¡¢¢—–?<š—¤—R“žžR¡˜R“R¥§––— `n€�vnu~„‰—žž^Rœ§¥¦R¤—Ÿ—Ÿ”—¤`n€�v?<v¡ Y¦R¦¤«R“ «¦š› ™R˜§  «`n€�v?<nu~„{˜R«¡§R¤§ R“©“«R“ –R™—¦?<•“§™š¦^R¦š—«YžžR¦š¤¡©R«¡§?<› R¢¤›¥¡ `n€�vnu~„s¥Rž¡ ™R“¥R«¡§Rœ§¥¦R¦— –R¦¡?<¦š—R˜ž¡©—¤¥^R«¡§YžžR”—R¥“˜—^?<“ –R«¡§YžžR™—¦R¦¡R—“¦`n€�vnw€v?<Ubdfd?<n‚„{n…yn†‡„z¡©Y¥R¦š—R©¡¤�R™¡› Yqn€�vnu~„‰›¦šR“ «Rž§•�^R©—YžžR”—?<”“•�R¦¡R¡§¤Rž¡ ™^R¤—ž“ª› ™?<–“«¥R› R ¡R¦›Ÿ—`n€�vnu~„```{RŸ—“ ^R©—R©›žž^R©¡ Y¦R©—qn€�vnw€v?<Ubdgb?<n‚„{?<n{†|bbdklbdgf?<nx~|cbdklbdge?<nx~|cbdblbdgd?<n‚„{n…yn†‡„“ ^R¦š—¥—R¥¢¤› �ž—¤¥Rœ§¥¦```n€�vnu~„‰š¡¡¢¥`?<€¡¦R¥§¢¢¡¥—–R¦¡R¦“ž�R¦¡Rš§Ÿ“ ¥`n€�vnw€v?<Ubdgc?<n‚„{n…yn†‡„†š—¥—R¥¢¤› �ž—¤¥R“¤—Rš“ –«^R”§¦?<¦š—«R¥§¤—R”¤—“�R“žžR¦š—R¦›Ÿ—`n€�vnw€v?<Ubdgd?<n‚„{nx~]cbdkn…yn†‡„{¦R”§¥¦—–R“™“› Sn€�vnu~„`````n€�vnu~„z—«^R«¡§`?<‹¡§Y¤—R¦š—R —©R™§«^R¤›™š¦qn€�v?<nu~„y¡R¦“�—R¦š“¦R”§¥¦—–R¥¢¤› �ž—¤?<› R“ –R—ª•š“ ™—R›¦R˜¡¤R“R —©?<¡ —`n€�vnw€v?<Ubdge?<n‚„{n…yn†‡„z§¤¤«R›¦R§¢SR†š—R˜ž¡©—¤R”§–¥?<“¤—R™—¦¦› ™R¢“¤•š—–`n€�v?<nu~„y¡R¦“�—R¦š“¦R”§¥¦—–R¥¢¤› �ž—¤?<› R“ –R—ª•š“ ™—R›¦R˜¡¤R“R —©?<¡ —`n€�vnw€v?<Ubdgf?<n‚„{n…yn†‡„{¦Y¥R¦š—R¤—–R˜ž¡©—¤¥R¦š“¦?<Ÿ“�—R§¥R¢¡©—¤˜§žR©“¤¤›¡¤¥Sn€�v?<nu~„‰—R›Ÿ›™“¥Rš“–R¦š›¥R˜—¤¡•›¦«?<› R§¥R“žžR“ž¡ ™`n€�v?<nu~„…¡R¦š—R¦›Ÿ—R©—R˜¡§™š¦R¦š—R¤¡”¡¦¥?<©“¥ Y¦Rœ§¥¦R“ R¡ž–Rž—™— –Sn€�vnu~„z—š_š—š_š—š```n€�vnu~„tž¡¡Ÿ^Rž›¦¦ž—R˜ž¡©—¤¥```n€�v?<†¤§¦šR”—R¦¡ž–^R{YŸR™—¦¦› ™?<“R”›¦R¥›•�R¡˜R˜“¤Ÿ› ™`n€�vnw€v?<Ubdhb?<n‚„{n…s†?<nx~|cbdelbdhe?<nx~|cbddlbdh2?<nx~|cbeglbdhc?<nx~]cbeg?<n…y{R•“§™š¦R¥¡Ÿ—¦š› ™R©—›¤–?<œ§¥¦R ¡©`n€�v?<{¦Y¥R› R¦š—R”§•�—¦R¦š—¤—`n€�vnw€v?<Ubdhc?<n‚„{n…y{¦Y¥R› R¦š—R”§•�—¦R¦š—¤—`n€�vnw€v?<Ubdhd?<n‚„{n…y‰š—¤—R–¡—¥R¦š“¦R�—«R™¡^R{R©¡ –—¤qn€�vnu~„‹¡§Y–R¦š› �R›¦Y–RŸ“¦•š?<§¢R©›¦šR¥¡Ÿ—¦š› ™R“¤¡§ –Rš—¤—```n€�vnu~„“ ^R{YŸRš§ ™¤«```n€�vnw€v?<Ubdhe?<n‚„{n…y{YŸR ¡¦R•“¦•š› ™Rs€‹†z{€y`n€�vnw€v?<Ubdhg?<n‚„{?<nx~|cbddlbdhi?<nwˆwbdhh?<Ubdhh?<nx~]cbdd?<nwˆwbdhj?<Ubdhi?<n‚„{n…yn†‡„€¡¦š› ™R› Rš—¤—R“ «Ÿ¡¤—```n€�vnw€v?<Ubdhj?<nwˆwbbig?<Ubdkk?<n‚„{n…y`````n€�vnw€v?<Ubebb?<Ubebc?<Ubecb?<nwˆwbbbb?<Ubecc?<n‚„{n…yx¡§ –R¦š›¥R¡ —Rž«› ™R› R¦š—?<¥¢¤› ™`n€�v?<nu~„…“«¥R¥š—R–¡—¥ Y¦R—¨— R¤—Ÿ—Ÿ”—¤?<©š¡R¥š—R›¥```n€�vnu~„|§¥¦R“R¢›—•—R¡˜Rœ§ �^R{R™§—¥¥`n€�vnx~]cbffnwˆwbecd?<Ubecd?<n‚„{n…y€¡©R¦š“¦R«¡§RŸ— ¦›¡ R›¦```n€�v?<†š—¤—Y¥R“R•—¤¦“› R�› –R¡˜?<Ÿ§¥š¤¡¡Ÿ^R{YŸR¦¡ž–^n€�vnu~„¦š“¦R”¤› ™¥R”“•�RŸ—Ÿ¡¤›—¥?<©š— R«¡§R—“¦R›¦```n€�v?<‰¡ –—¤R›˜R›¦Y–R©¡¤�R¡ Rš—¤qn€�vnw€v?<Ubece?<n‚„{n…y‰š“¦Y¥R¦š“¦q?<z—¤RŸ—Ÿ¡¤›—¥R“¤—R”“•�qn€�v?<nu~„‚˜˜¦`R~›�—–R›¦R”—¦¦—¤R¦š—?<¡ž–R©“«`n€�vnw€v?<Ubedb?<n‚„{n…s†?<nx~|cbfhlbedg?<nx~|cbfglbedf?<nx~|cbdblbedc?<nx~]cbfcn…ynxsubbdg‰š¡```R“¤—R«¡§```qn€�vn{†|bbeflbeddnw€v?<Ubedc?<n‚„{n…ynxsubbdg�š```n€�v?<‹¡§Y¤—R¥¡R•§¦—```n€�vnu~„v¡ Y¦R™¡R¦¡¡R˜“¤`n€�v?<s –R©“¦•šR¡§¦R˜¡¤R¦š—?<”“–R¤¡”¡¦¥```n€�vn{†|bbeflbeddnw€v?<Ubedd?<n‚„{nxsubbbbn…yn†‡„ny{†cbefn{†_bbefnu‡bbbbnu~„nx~]cbfh?<|“ŸŸ—–R›¦R› ¦¡Ru§¤ž«Y¥RŸ¡§¦š`n€�vnu~„nu~�n‰s{bbgbnwƒ_bbhfn‰s{bbgb?<nx~]cbfgn„‡nx~|cbdblbedenwˆwbedf?<Ubede?<n‚„{nwƒ]bbhfnwˆwbedf?<Ubedf?<nwˆwbbjk?<Ubedg?<n‚„{n…ynxsubbck{YŸR˜› —R ¡©`n€�vnw€v?<Ubegb?<n‚„{n…yn†‡„v¡R«¡§R©“ ¦R¦¡R˜ž›¢R¦š—?<¥©›¦•šqn‹€|bbbbnu~�?<ns€‚begblbbcblbbbbnw€v?<Ubehb?<n‚„{n…yn†‡„nxsubbdj{YŸR”“•�Sn€�vnu~„€¡R§¥—R› Rš›–› ™?<“ «Ÿ¡¤—^R«¡§R� ¡©qn€�vnu~„s –R“ «©“«^R¦š—R¤¡•�—¦?<•¡§ž– Y¦R”—R˜› ›¥š—–?<©›¦š¡§¦RŸ—Rš—¤—Sn€�vnu~„t«R¦š—R©“«```n€�vnu~„{˜R«¡§R–—˜—“¦R¦š—Rv¡•¦¡¤^n€�vnu~„–¡R«¡§R¦š› �R{YžžR”—?<“”ž—R¦¡R”—•¡Ÿ—R“Rš§Ÿ“ ?<“™“› ```qn€�vnw€v?<Ubeib?<n‚„{n…s†nx~|cbeflbejbn…ynxsubbddnx~]cbefv›–R«¡§Rš“¨—R“R™¡¡–?<¤—¥¦qn€�vnu~„†š—R¤¡•�—¦Y¥R“žžR–¡ —`n€�vnu~„‹¡§YžžR”—R“”ž—R¦¡R¦“�—?<–¡© R¦š—Rv¡•¦¡¤^R¤›™š¦qn€�v?<{R”—ž›—¨—R› R«¡§`n€�vnw€v?<Ubejb?<n‚„{n…ynxsubbddv›¤—•¦ž«R“”¡¨—R§¥R›¥R“?<¢“¦šR¦¡R¦š—R¦š¤¡ —R¤¡¡Ÿ`n€�vnu~„‹¡§R¥š¡§ž–R”—R“”ž—R¦¡?<™—¦R¦š—¤—R§¥› ™R¦š—?<¤¡•�—¦`n€�vnw€v?<Ubfbb?<n‚„{nx~|ccbdlbfbcn…yn†‡„{¦Y¥R¥¢—©› ™R¡§¦R©“¦—¤?<“¦R“R˜¤›™š¦— › ™R¤“¦—`n€�vnw€v?<Ubfbc?<n‚„{n…yn†‡„z—«SR‰—R ——–R¦š“¦Rš—¤—Sn€�vnw€v?<Ubfcb?<n‚„{nx~|ccbdlbfccn…yn†‡„{¦Y¥R¥¢—©› ™R¡§¦R©“¦—¤?<“¦R“R˜¤›™š¦— › ™R¤“¦—`n€�vnw€v?<Ubfcc?<n‚„{n…yn†‡„z—«SR‰—R ——–R¦š“¦Rš—¤—Sn€�vnw€v?<Ubfcg?<n‚„{nx~|dfbilbbbcnx~|cbdblbfchn…yn†‡„z—«S?<v¡ Y¦R¦¡§•šR¦š“¦^Rš§Ÿ“ Sn€�vnw€v?<Ubfch?<n‚„{nx~|dfbilbbbcnx~]dfbin…�‡bbddnu€‚bfcglbbdclbbbbnwˆwbfci?<Ubfci?<nwˆwbbij?<Ubfgb?<n‚„{nx~|cbfblbfgcnx~]cbfbn…yn†‡„~¡ ™R¦›Ÿ—R ¡R“¤˜Sn€�vnu~„n{†|bbcglbfgd?<ny{†cbcgn{†]bbcgy¡¦R“Ro~›˜—R‚¡¦oSn‰s{bbdgn€�vny{†bbbbnwˆwbfgd?<Ubfgc?<n‚„{n…yn†‡„…¡R«¡§Y¤—R™¡› ™R¦¡R˜›™š¦?<¦š—Rv¡•¦¡¤qRy¡¡–Rž§•�S?<«R¦“›žR©“™¥R¡ ž«R˜¡¤R«¡§Sn€�vnu~„�š^R«—“š^R“ –R¦—žžRu§¤ž«R{?<¥“›–Rš›Sn€�vnw€v?<Ubfgd?<nwˆwbbcf?<Ubfhb?<n‚„{n…yn†‡„‰“¦•šR¡§¦R˜¡¤Ry§ ˜›¥šSRZ€¡¦—l?<†š¡¥—R©š¡R§¥—R¦š—ŸR“¥R¢ž“¦˜¡¤Ÿ¥?<–¡R¥¡R“¦R¦š—›¤R¡© R¤›¥�`[n€�vnw€v?<Ubfjb?<n}w‹nzu?<nx�€bfjclbbch?<n€‚bfjclbbeflbccjlbbbb?<ns€‚bfjclbbdblbbbdn‰s{bedb?<ns€‚bfjclbbbblbbbb?<n�ˆbbielbccbn…un‹tbbbdnx�bbchnw€v?<Ubfjc?<Ubgbb?<n‚„{n…�‡bbddnv€‚bgbbnwˆwbgbc?<Ubgbc?<nwˆwbbce?<Ucdbb?<n}w‹ns€‚cdbblbbdblbbbb?<nx�€cdbblbbchnxs{bbbc?<n‰s{bcbbnxs�bbbcnx‡n‰s{bdbbn†„sbbkclbcbblbbbclbbbc
\ No newline at end of file
diff --git a/pre-edited-cs/data/Stage/Cthu.tsc b/pre-edited-cs/data/Stage/Cthu.tsc
index cc54325..dea7ad1 100644
--- a/pre-edited-cs/data/Stage/Cthu.tsc
+++ b/pre-edited-cs/data/Stage/Cthu.tsc
@@ -1 +1 @@
-fc|‰‰’‰fc•¦§š•œ¦®‰‰‰‘•Ÿš¢‰‰‰‰•ž§�fc|‰‰’Šfc•¦§š•œ¦®‰‰‰‘•Ÿš¢‰‰‰Š•ž§�fc|‰‰’‹fc•¦§š•œ¦®‰‰‰‘•Ÿš¢‰‰‰‹•ž§�fc|‰‰’Œfc•¦§š•œ¦®‰‰‰‘•Ÿš¢‰‰‰Œ•ž§�fc|‰‰’�fc•¦§š•œ¦®‰‰‰‘•Ÿš¢‰‰‰�•ž§�fcfc|‰Š‰‰fc•©«¢•Ÿš¨‰‰‰�•­«š‰‰‰‹“‰‰’�“‰Š‹Ž“‰‰‰‹fc|‰Š‰Šfc•©«¢•¬¨®‰‰ŠŠ•�§©‰Š‰Š•Ÿš¨‰‰‰�•­«š‰‰‰‹“‰‰’�“‰Š‹Ž“‰‰Š‹fcfcfcfc|‰‹‰‰fc•¤žY•Ÿ¥£Š‹’‰“‰‹‰Š•Ÿ¥„Š‹’‰•¦¬ ¨ÁÈ‡•§¨�•œ¥«šyÌÈÅ½Â¾Ëy¿ËÈÆyÍÁ¾yÌÎË¿º¼¾˜fc�Â½Ç€Íy¾ÑÉ¾¼ÍyÍÈyÌ¾¾yÒÈÎfcÁ¾Ë¾‡‡‡•§¨�fc°Á¾Ë¾yºË¾yÍÁ¾yÈÍÁ¾ËÌ˜•§¨�•œ¥«‡‡‡‡‡•§¨�•œ¥«°ÁºÍ€ÌyÍÁºÍ˜fc²ÈÎËyÆ¾ÆÈËÒ€ÌyÀÈÇ¾˜•§¨�fc¡¾Á†Á¾Á†Á¾Á‡‡‡•§¨�•ž§�fc|‰‹‰Šfc•¤ž²•¦¬ °¾ÅÅ…yÍÂÅÅyÒÈÎËyÃÎÂ¼¾yËÎÇÌfcÈÎÍ…yÁºÏ¾y¿ÎÇyÐºÇ½¾ËÂÇÀ‡•§¨�•ž§�fcfc
\ No newline at end of file
+[Xq~~‡~[XŠ›œ�Š‘›£~~~†Š”�—~~~~Š“œ’[Xq~~‡[XŠ›œ�Š‘›£~~~†Š”�—~~~Š“œ’[Xq~~‡€[XŠ›œ�Š‘›£~~~†Š”�—~~~€Š“œ’[Xq~~‡�[XŠ›œ�Š‘›£~~~†Š”�—~~~�Š“œ’[Xq~~‡‚[XŠ›N�Š‘›£~~~†Š”�—~~~‚Š“œ’[Xq~~~[XŠž —Š”��~~~‚Š¢ �~~~€ˆ~~‡‚ˆ~€ƒˆ~~~€[Xq~~[XŠž —Š¡�£~~Š’œž~~Š”��~~~‚Š¢ �~~~€ˆ~~‡‚ˆ~€ƒˆ~~€[Xq~€~~[XŠ“¤“~~~~
\ No newline at end of file
diff --git a/pre-edited-cs/data/Stage/Eggs.tsc b/pre-edited-cs/data/Stage/Eggs.tsc
index 1e19b08..74e9817 100644
--- a/pre-edited-cs/data/Stage/Eggs.tsc
+++ b/pre-edited-cs/data/Stage/Eggs.tsc
@@ -1 +1 @@
-IF_llulIFx‰Š}x‰‘lllmx‚}…llllx�Š€IF_llumIFx‰Š}x‰‘lllmx‚}…lllmx�Š€IF_llunIFx‰Š}x‰‘lllmx‚}…lllnx�Š€IF_lluoIFx‰Š}x‰‘lllmx‚}…lllox�Š€IF_llupIFx‚ˆ†lmlqvlluqx‰Š}x‰‘lllmx‚}…lllpx�Š€IF_lluqIFx‰Š}x}ŠŒlmmlvllllvlllnx‰‘lllmx‚}…lllpx�Š€IF_lluuIFx‡�•x‰Š}x‰‘lllmIFx}ŠŒlmllvlllmvllllx‚}…lllpIFxŠŒlolmvlmmnvlllnx“}…lmllIFx}ŠŒlmllvllllvllllIFx‰•€lllnx€ŠŒlolmx�‰x�Š€IF_lmllIFxŒŽ…x‰�ƒx�‘Ž€«\µ«±\³�ª°\°«\£«\°«\}®°¤±®c¯IF¤«±¯¡{x•Š†llllxˆ‹IFx‡�•xŠŒlollvlmmmvlllnx„‰x“}…llrlx}ŠŒlmllvlllmvllllIFx“}…lmllx‚}‹lllpx�Ž}lllmvlluuvlllqvllltIF_lmlmIFxŒŽ…x‚}‹lllpx�Ž}lllpvllupvllluvllltIF_lmlnIFx‡�•xŠŒlollvlmmmvlllnx„‰x“}…llrlx}ŠŒlmllvlllmvllllIFx“}…lmllx‚}‹lllpx‚ˆilmlrx�Ž}llnpvlsllvlllnvllllIF_lmloIFxŒŽ…x‚}‹lllpx�Ž}lllqvllupvllmlvllltIF_lmlqIFxŒŽ…x‚}‹lllpx�Ž}llnnvllupvllmnvlllnIF_lmlrIFxŒŽ…x�‹‘llmmx€ŠŒlmlrx‚}‹lllpx�Ž}llnnvllupvllmmvllmnIF_lmlsIFxŒŽ…x‚}‹lllpx�Ž}llnovllupvllluvllltIF_lmltIFxŒŽ…x‚ˆ†lmlovlmlux‰�ƒ…°\³«ªc°\«¬¡ª]xŠ‹€x�Š€IF_lmluIFxŒŽ…x�‹‘llmmx€ŠŒlmltx‚}‹lllpx�Ž}lllovllupvlllpvllmlIF_lmmlIFxŒŽ…x‚ˆ†lmlqvlmmmx‰�ƒ…°\³«ªc°\«¬¡ªjjjxŠ‹€x�Š€IF_lmmmIFxŒŽ…x€ŠŒlmmlx‚}‹lllpx�Ž}llnmvllupvllmlvllluIF_lnllIFxŒŽ…x‰�ƒ…c \³�°Ÿ¤\«±°\¥¢\…\³¡®¡\µ«±jxŠ‹€IF�¤�°\³¤¥°¡\°¤¥ª£\«ª\°¤¡IFž«°°«©{xŠ‹€IF‹ª¡\°«±Ÿ¤\�ª \Œ‹“h\¥°c¯\«²¡®jxŠ‹€x�Š€IF_lollIF_lolmIF_lpllIFxŒŽ…x‚ˆglmlmx�‹‘llnnx€ŠŒlpllx�’�lploIF_lplmIFxŒŽ…x‚ˆglmlnx�‹‘llnnx€ŠŒlplmx�’�lplpIF_lploIFx�’�llmnIF_lplpIFx�’�llmoIF_lqllIFx‡�•x‰‰lx‰•€lllnx‚‰‘x€ŠŒlqll<‚ˆglmllIFx‰�ƒx‚}lllox}ŠŒlqlnvllmmvllln�¤¡®¡\µ«±\�®¡hIFµ«±\©«ª¯°¡®]xŠ‹€IF…c©\ª«°\�¢®�¥  �\µ«±]x}ŠŒlqlnvllllvlllnxŠ‹€xˆŽx‰‘llllIFx‚}llmn‹‹ƒ}}„„]]xŠ‹€xˆŽx‚}lllox}ŠŒlqlnvllmmvlllnx}ŠŒlqlnvllmmvllln•¡�¤{\“¤�°c¯\°¤�°{xŠ‹€IF•«±\³�ªª�\ž®¥ª£\¥°{]xŠ‹€xˆŽƒ«\�¤¡� \�ª \°®µ]xŠ‹€IF�²¡ª\©µ\ž®«°¤¡®c¯\ª¡²¡®IFž¡�°¡ª\©¡]]xŠ‹€x‚}llllxˆ‹IFx}ŠŒlqlmvlllnvllllx“}…llqtIFx}ŠŒlqlmvlllpvllllx“}…llmlIFx}ŠŒlqlnvlllrvlllnx“}…llmlxŒŽ…x‰�ƒx‚}lllp‹«¢]\•«±\³¥ª]xŠ‹€xˆ‹x‡�•IFx}ŠŒlqlmvlllpvllllx“}…llmlIFx}ŠŒlqlnvlllrvlllnx“}…llmlxŒŽ…x‰�ƒ…c©\¯«®®µ]IF…c©\¯«®®µ]]xŠ‹€x‚}llllxˆ‹x‡�•IFx}ŠŒlqlmvlllpvllllx“}…llmlIFx}ŠŒlqlnvllltvlllnx‰�ƒf®�¯¤]fx“}…llqlxˆ‹IFx“}…llnlx‰�ƒ‹««¤¤jjjxŠ‹€xˆŽ„±¤{xŠ‹€IFx“}…llmlx}ŠŒlqlnvllllvllllx“}…llmlIFx‰�ƒx‚}lllm“¤«c®¡\µ«±{xŠ‹€IFx}ŠŒlqlmvlllnvllllx“}…llpnIFx}ŠŒlqlmvlllpvllllx“}…llmlIFx}ŠŒlqlnvlllrvlllnx“}…llloIFxŒŽ…x‰�ƒx‚}lllp�®§]x“}…llqlx‚}llllxˆ‹x‡�•IFx}ŠŒlqlnvllmovllllx“}…llqlx‰�ƒx‚}llmnjjjjjxŠ‹€xˆ‹IFx}ŠŒlqlmvlllnvlllnx“}…lnmlx€ŠŒlqlnx€ŠŒlqlmxŽ‰‘x�Š€IF_lqlmIF_lqlnIF_lqloIFx‡�•x‚ˆglmlox‚ˆgrmlmx‚‹ŠlqlovllmrIFxŠŒlqlovlltuvllllIFx“}…lpllx‰‘llmqIFx‚‹‰llmrx‰�ƒx�‘ŽIF€¡¢¡�°¡ \…£«®]x“}…lmplxŠ‹€IFx‰‘lllmx�Š€IF_lqlpIFilqlqIFxŒŽ…x‰�ƒx‚}llmo“¤�°jjj{xŠ‹€xˆŽ“¤¡®¡\�©\…jjj{xŠ‹€IF“¤�°\ ¥ \…jjj{xŠ‹€xˆŽ“¤«\�®¡\µ«±{xŠ‹€x�Š€IF_lrllIFx‡�•x‚‰‘x€Š}llqtx‰‰lx‰•€lllnx€ŠŒlrllIFx‰�ƒx‚}llmnƒŽŽŽŽjjjx“}…llnlxŠ‹€xˆ‹IFx‰‘lllpIFxŠŒlqlpvllmovllllIFxŠŒlqlovllttvllllx~�ˆlqlox‚ˆilmlox�Š€
\ No newline at end of file
+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{�-�|-t|-�|-N�u‚4€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�-„|{4�-|}r{.I[\QIR[Q0=>=FI]_VI`\b==>>IQ[]=>=EISN\===AIa_N===@G==FAG===AG==>=0=>>=I]_VISYW=>=BG=>>>IZ`TV�-„|{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-{|�-nsnvqqn-†|‚.IN[]=B=?G====G===?I[\QIPY_IPZb====ISNP==>?\\TNNUU..I[\QIPY_ISNP===@IN[]=B=?G==>>G===?IN[]=B=?G==>>G===?frnuL-dun�4€-�un�LI[\Qf|‚-„n{{n-ov{t-v�L.I[\QIPY_T|-nurnq-n{q-�†.I[\QRƒr{-z†-o|�ur4€-{rƒrorn�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_U‚uLI[\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�rq-Vt|.IdNV=>A=I[\QIPZb===>IR[Q0=B=A:=B=BI]_VIZ`TISNP==>@dun�;;;LI[\QIPY_durr-nz-V;;;LI[\Qdun�-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
\ No newline at end of file
diff --git a/pre-edited-cs/data/Stage/Eggs2.tsc b/pre-edited-cs/data/Stage/Eggs2.tsc
index c38f426..095368b 100644
--- a/pre-edited-cs/data/Stage/Eggs2.tsc
+++ b/pre-edited-cs/data/Stage/Eggs2.tsc
@@ -1 +1 @@
-GD]jjsjGDv‡ˆ{v}‡�jjlqv€{ƒjjjjvˆ~GD]jjskGDv‡ˆ{v}‡�jjlqv€{ƒjjjkvˆ~GD]jjslGDv‡ˆ{v}‡�jjlqv€{ƒjjjlvˆ~GD]jjsmGDv‡ˆ{v}‡�jjlqv€{ƒjjjmvˆ~GD]jjsnGDv‡ˆ{v}‡�jjlqv€{ƒjjjnvˆ~GD]jjsoGD]jjssGDv…“v‡ˆ{v}‡�jjlqGDv{ˆŠjkjjtjjjktjjjjv€{ƒjjjnGDv}ˆŠjmjktjkkltjjjlv‘{ƒjkjjGDv{ˆŠjkjjtjjjjtjjjjGDv‡“~jjjlv~ˆŠjmjkv�‡}vˆ~GD]jkjjGDvŠŒƒv‡��vŽ�Œ~©Z³©¯Z±›¨®Z®©Z¡©Z®©Z{¬®¢¯¬a­GD¢©¯­Ÿyv“ˆ„jjjjv}†‰v€†ejkosGDv…“v}ˆŠjmjjtjkkktjjjlv‚‡}v‘{ƒjjpjv{ˆŠjkjjtjjjktjjjjGDv‘{ƒjkjjv€{‰jjjnvŽŒ{jjjktjjsstjjjotjjjrGD]jkjkGDvŠŒƒv€{‰jjjnvŽŒ{jjoktjjsntjjjntjjjnGD]jkjlGDvŠŒƒv€{‰jjjnvŽŒ{jjoktjjsntjjkrtjjjrGD]jkjmGDvŠŒƒv€{‰jjjnvŽŒ{jjjotjjsntjjkj:jjjrGD]jkjoGDvŠŒƒv€{‰jjjnvŽŒ{jjojtjjsntjjkltjjjlGD]jkjpGDvŠŒƒv€{‰jjjnvŽŒ{jjojtjjsntjjkktjjklGD]jkjrGDv…“v�‰�jjkkv{ˆŠjkjrtjjjjtjjjlv€{‰jjjnvŽŒ{jjoltjjsntjjjntjjkjGD]jkkjGDv…“v€{‰jjjnvŽŒ{jjontjjsntjjkjtjjjsGD]jkkkGD]jljjGDvŠŒƒv‡��vŽ�ŒŽ¢ŸZ�›¬�›­­Z© Z›Z�¥³Z~¬›¡©¨hhhvˆ‰~vˆ~GD]jljkGDv{ˆŠjljktjjjjtjjjlvˆ~GD]jlkjGDvŠŒƒv‡��vŽ�ŒŽ¢Ÿ¬ŸZ±›­Z®¢£­Z¢¯¡ŸZŸ²ª¦©­£©¨[GD‘¢Ÿ¨ZƒZ�›§ŸZ®©fZ£®Z›¦¦Z¦©©¥ŸžGD¦£¥ŸZ®¢£­hvˆ‰~vˆ~GD]jmjjGD]jmjkGD]jmljGDvŠŒƒv€†„jrrjtjjjkv€†ejrrjv�‰�jjllv}ˆŠjmljtjjlktjjjjv�jmlkGD]jmlkGDv�jjmjGD]kljjGDv…“v{ˆŠkljjtjjljtjjjjGDv€‰ˆkljjtjjkpv€{ƒjjjkGDv‘{ƒjkjjv€{‰jjjkvŽŒ{jjjptkljjtjkqktjjkn
\ No newline at end of file
+=: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‘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
\ No newline at end of file
diff --git a/pre-edited-cs/data/Stage/MazeI.pxe b/pre-edited-cs/data/Stage/MazeI.pxe
index 271eb7f..2019b76 100644
Binary files a/pre-edited-cs/data/Stage/MazeI.pxe and b/pre-edited-cs/data/Stage/MazeI.pxe differ
diff --git a/pre-edited-cs/data/Stage/MazeI.tsc b/pre-edited-cs/data/Stage/MazeI.tsc
index 4d65370..b82079b 100644
--- a/pre-edited-cs/data/Stage/MazeI.tsc
+++ b/pre-edited-cs/data/Stage/MazeI.tsc
@@ -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�-„|{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{�-�|-|}r{-�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�-Zv€r†-�|€€rq-†|‚q|„{-urr;I[\Qf|‚-}||-�uv{t;;;I[\Qauv€-v€-�ur-v€yn{q4€-�n€u-urn};I[\Q\{pr-†|‚-tr�-v{9†|‚-{rƒr-tr�-|‚�;;;I[\QIR[Q0=B=>0=B=?I]_VIZ`Taur-€„v�pu-�un�-|}r{€-�uv€q||-v€-€‚}}|€rq-�|-or-‚}-�|}€|zr„urr;I[\QO‚�-�ur-s||�v{t4€-�vpx†-‚}�urr;I[\QV-sryy-|ƒr-n{q-|ƒr-ntnv{‚{�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
\ No newline at end of file
+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�-„|{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{�-�|-|}r{-�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
\ No newline at end of file
diff --git a/pre-edited-cs/data/Stage/ScriptSource/Cent.txt b/pre-edited-cs/data/Stage/ScriptSource/Cent.txt
index 1b01af3..2cb8b9f 100644
--- a/pre-edited-cs/data/Stage/ScriptSource/Cent.txt
+++ b/pre-edited-cs/data/Stage/ScriptSource/Cent.txt
@@ -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
diff --git a/pre-edited-cs/data/Stage/ScriptSource/Cthu.txt b/pre-edited-cs/data/Stage/ScriptSource/Cthu.txt
new file mode 100644
index 0000000..8f5f20b
--- /dev/null
+++ b/pre-edited-cs/data/Stage/ScriptSource/Cthu.txt
@@ -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
+
diff --git a/pre-edited-cs/data/Stage/ScriptSource/Eggs.txt b/pre-edited-cs/data/Stage/ScriptSource/Eggs.txt
index ad613ff..b3d0b20 100644
--- a/pre-edited-cs/data/Stage/ScriptSource/Eggs.txt
+++ b/pre-edited-cs/data/Stage/ScriptSource/Eggs.txt
@@ -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
diff --git a/pre-edited-cs/data/Stage/ScriptSource/Eggs2.txt b/pre-edited-cs/data/Stage/ScriptSource/Eggs2.txt
index 7a3de14..21db5b1 100644
--- a/pre-edited-cs/data/Stage/ScriptSource/Eggs2.txt
+++ b/pre-edited-cs/data/Stage/ScriptSource/Eggs2.txt
@@ -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
diff --git a/pre-edited-cs/data/Stage/ScriptSource/MazeI.txt b/pre-edited-cs/data/Stage/ScriptSource/MazeI.txt
index cea84b7..541e50f 100644
--- a/pre-edited-cs/data/Stage/ScriptSource/MazeI.txt
+++ b/pre-edited-cs/data/Stage/ScriptSource/MazeI.txt
@@ -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
diff --git a/pre-edited-cs/data/Stage/ScriptSource/Weed.txt b/pre-edited-cs/data/Stage/ScriptSource/Weed.txt
index da3e1dd..8be18c9 100644
--- a/pre-edited-cs/data/Stage/ScriptSource/Weed.txt
+++ b/pre-edited-cs/data/Stage/ScriptSource/Weed.txt
@@ -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,
diff --git a/pre-edited-cs/data/Stage/Weed.tsc b/pre-edited-cs/data/Stage/Weed.tsc
index c617233..fe0d36e 100644
--- a/pre-edited-cs/data/Stage/Weed.tsc
+++ b/pre-edited-cs/data/Stage/Weed.tsc
@@ -1 +1 @@
-IF_llulIFx‰Š}x‰‘lllqx‚}…llllx‚ˆ†npmlvlluqx�Š€IF_llumIFx‰Š}x‰‘lllqx‚}…lllmx‚ˆ†npmlvlluqx�Š€IF_llunIFx‰Š}x‰‘lllqx‚}…lllnx‚ˆ†npmlvlluqx�Š€IF_lluoIFx‰Š}x‰‘lllqx‚}…lllox‚ˆ†npmlvlluqx�Š€IF_llupIFx‰Š}x‰‘lllqx‚}…lllpx‚ˆ†npmlvlluqx�Š€IF_lluqIFx‰Œlmtnvllmmvlllmx�Š€IF_llutIFx‡�•x‰Š}x‰‘lllqx‚ˆglnnpIFx}ŠŒlmllvlllmvllllx‚}…lllpIFxŠŒlplmvlmmnvlllnx“}…lmllIFx}ŠŒlmllvllllvllllIFx‰•€lllnx�‰x€ŠŒlplmx�Š€IF_lluuIFx‡�•x‰Š}x‰‘lllqIFx}ŠŒlluuvllmlvllllIFx‚}…lllpx“}…llslIFx}ŠŒlluuvllllvllllx“}…llolx‚ˆgnpmlx�’�lluqIF_lmllIFx‡�•x‰�ƒx�‘Ž€«\µ«±\³�ª°\°«\£«\°«\}®°¤±®c¯IF¤«±¯¡{x‚ˆilnnsx•Š†llllxˆ‹IFxŠŒlpllvlmmmvlllnx„‰x“}…llrlx}ŠŒlmllvlllmvllllIFx“}…lmllx‚}‹lllpx�Ž}lllmvlluuvlllqvllltIF_lmlmIFxŒŽ…x‚ˆilnnsx‚ˆ†lnmnvlmlnx‰�ƒx�‘Ž…°c¯\¨«Ÿ§¡ jxŠ‹€x�Š€IF_lmlnIFxŒŽ…x�‹‘llmmx€ŠŒlmlmx‚}‹lllpx�Ž}lllsvllupvllmqvllltIF_lmloIFxŒŽ…x�‹‘llmmx€ŠŒlmlox‚}‹lllpx�Ž}llltvllupvllluvllmmIF_lmlpIFxŒŽ…IFx‚ˆ†lnmpvlmlrIFx…�†llluvlmlqIFx‰�ƒx�‘Ž…°c¯\¨«Ÿ§¡ jxŠ‹€x�Š€IF_lmlqIFx�‹‘llnnx‰�ƒx�‘Žxƒ…�mllu‘¯¡ \°¤¡\yŽ±¯°µ\‡¡µyjxŠ‹€xƒ…�llllxˆ‹x‚ˆglnmpx�’�lmlrIF_lmlrIFxŒŽ…x�‹‘llmmx€ŠŒlmlpx‚}‹lllpx�Ž}llnqvllupvllmrvlllsIF_lmlsIFxŒŽ…x�‹‘llmmx€ŠŒlmlsx‚}‹lllpx�Ž}llnrvllupvllmlvlllsIF_lmltIFxŒŽ…x�‹‘llmmx€ŠŒlmltx‚}‹lllpx�Ž}llnsvllupvllmlvllluIF_lmluIFxŒŽ…IFx‚ˆ†lnnnvlmmmIFx…�†llmlvlmmlIFx‰�ƒx�‘Ž…°\¯¡¡©¯\°«\ž¡\¨«Ÿ§¡ jIF�¤¡\³«® \^ƒ±©^\¥¯\³®¥°°¡ª\«ªIF°¤¡\ ««®jxŠ‹€x�Š€IF_lmmlIFx�‹‘llnnx‰�ƒx�‘Žxƒ…�mlml‘¯¡ \°¤¡\yƒ±©\‡¡µyjxŠ‹€x…�illmlxƒ…�llllxˆ‹x‚ˆglnnnx�’�lmmmIF_lmmmIFxŒŽ…x�‹‘llmmx€ŠŒlmlux‚}‹lllpx�Ž}llntvllupvlllrvllmoIF_lmmnIFxŒŽ…x‚}‹lllpx�Ž}llmtvllupvlllrvllmlIF_lmmoIFxŒŽ…x�‹‘llmmx€ŠŒlmmox‚}‹lllpx�Ž}llolvllupvlllsvllluIF_lmnmIFxŒŽ…x‰�ƒx�‘ŽIF\\\\\\\\\\\\\\\��ª°�c¯\„«±¯¡xŠ‹€x�Š€IF_lmnoIFxŒŽ…x‰�ƒx�‘ŽIF\\\\\\\\\\\\\\\\Œ«³¡®\Ž««©xŠ‹€x�Š€IF_lmolIFx‡�•x‚ˆilonux‚ˆilnmux‰•€lllnx�Ž}llmmvlpnlvllnpvllnuIF_lnllIFxŒŽ…x€ŠŒlnllx‚ˆglnmlx�’�lsllIF_lnlmIFxŒŽ…x‚ˆ†lnntvlnlsx‚ˆglnntx‰�ƒx�‘Ž‹¤«j\}\¯«¨ ¥¡®\¢®«©\°¤¡\¯±®¢�Ÿ¡{IF…\°¤«±£¤°\°¤¡\³�®\³�¯\«²¡®IF�¨®¡� µjxŠ‹€xˆŽx�‘Ž“¡¨¨h\³¤�°¡²¡®jxŠ‹€xˆ‹x�’�lnlsIF_lnlnIFx‚ˆ†npolvlnlpxŠ†llupvlnlox€ŠŒlnlnx‚ˆgnpolxŒŽ…x�’�lslnIF_lnloIFx�‹‘llsnxŠŒlnlnvllmqvlllnx�Š€IF_lnlpIFxŠŒlnlnvlllmvllllx�Š€IF_lnlqIFx‚ˆ†lptmvlnlrIFxŒŽ…x‰�ƒx�‘Ž�¤¡\¢�ª¯\�®¡ªc°\®±ªª¥ª£jxŠ‹€IF�«©¡«ª¡c¯\Ÿ±°\°¤¡\¬«³¡®\°«IF°¤¥¯\�®¡�jxŠ‹€xˆŽIFx�‘Ž…¢\µ«±\³�ª°\°«\£¡°\°¤¡©\³«®§¥ª£IF�£�¥ªh\µ«±c¨¨\¤�²¡\°«\¢¥ª \°¤¡IFŒ«³¡®\Ž««©jxŠ‹€x�Š€IF_lnlrIFxŒŽ…x‰�ƒx�‘Žˆ¡°\©¡\£¥²¡\µ«±\�\°¥¬jxŠ‹€xˆŽx�‘Ž…¢\µ«±\¤«¨ \°¤¡\¦±©¬\ž±°°«ªIF³¤¥¨¡\�\¢�ª\ž¨«³¯\µ«±\�®«±ª hIFµ«±c¨¨\¢¨µ\¡²¡ª\¤¥£¤¡®jxŠ‹€x�Š€IF_lnlsIF<ŒŽ…x‰�ƒx�‘Ž…¢\µ«±c®¡\£«¥ª£\«ª\�¤¡� hIF³�°Ÿ¤\«±°\¢«®\°¤«¯¡\Œ«³¡®IF®¥°°¡®¯jxŠ‹€xˆŽx�‘Ž“¤¡ª\°¤¡µ\¨�ª \«ª\µ«±h\¥°\¤±®°¯jxŠ‹€x�Š€IF_lnmlIFxŒŽ…x‰�ƒx�‘Ž�¤¡\©«°«®ž¥§¡\‡�¶±©�\³�¯\ ®¥²¥ª£jIF…°c¯\ª«°\¨««§¥ª£\¯«\¤«°\�ªµ©«®¡jxŠ‹€x�Š€IF_lnnlIFx…�†llmovlnqlIFx‚ˆ†lnnmvlnplIFx‚ˆ†lptpvlnouIFx‚ˆ†lnmqvlnopIFxŒŽ…x‰�ƒx�‘Ž…°\³«ªc°\«¬¡ªjjjxŠ‹€xˆ‹IFxŠŒlnolvlmlrvllllx‰•€lllnx�Š€IF_lnolIFx‚ˆglnmrx€ŠŒlnolx�’�ltllIF_lnopIFxŒŽ…x‰�ƒx�‘Ž�¤¡®¡c¯\ª«\§¡µ¤«¨¡jIF�¤¡\ ««®\©±¯°\ž¡\®±¯°¡ \¯¤±°jxŠ‹€x�Š€IF_lnoqIFx‚ˆ†lnmqvlnorIFxŒŽ…x‰�ƒx�‘Ž…¢\°¤¡®¡c¯\ª«\§¡µ¤«¨¡h\°¤¡ªIF³¡c¨¨\¦±¯°\¤�²¡\°«\ž®¡�§\°¤¡IF ««®\ «³ªjjjxŠ‹€x�Š€IF_lnorIFxŒŽ…x‚ˆ†lnnovlllmx…�†llluvlnosIFx‰�ƒx�‘Ž…°c¯\¨«Ÿ§¡ jxŠ‹€IFxƒ…�mlluˆ««§¯\¨¥§¡\�\yŽ±¯°µ\‡¡µy\³«±¨ \¢¥°jx“}…llnqxŠ‹€x�Š€IF_lnosIFxŒŽ…x‚ˆglnnoIFx�‹‘llnnxŠŒlnorvllnmvllllx�’�ltlmIF_lnouIFxŒŽ…x‰�ƒx�‘ŽŽ±¯°¡ \¯¤±°h\¯�©¡\�¯\�¨³�µ¯jjjxŠ‹€xˆ‹IFxŠŒlnolvlmlrvllllx‰•€lllnx�Š€IF_lnplIFxŒŽ…x‰�ƒx�‘ŽŽ±¯°¡ \¯¤±°h\¯�©¡\�¯\�¨³�µ¯jjjxŠ‹€x�Š€IF_lnqlIFxŒŽ…x‚ˆglqnmx‚ˆglqnnx…�illmoIFx‰�ƒx�‘Žxƒ…�mlmo�¡°\°¤¡\y�´¬¨«¯¥²¡yjx“}…llnqxŠ‹€xˆ‹IFx�‘}llolx�‹‘llppIFx‚}‹lllpx‚ˆglqnlx‚ˆilqnnx‚ˆglqnox‚ˆglqnqx‚ˆglnnrx‚ˆglnnsx‚ˆgnprlx�Ž}lllrvlrllvlnmsvllmrIF_lolnIFxŒŽ…x‚ˆ†lnmtvlllmx‚ˆglnmtIFx�‹‘llnnxŠŒlolnvllnmvllllx�’�loloIF_loloIFx�’�llolIF_lolqIFxŒŽ…x€ŠŒlolqx�‹‘llnnx�’�lslmIF_lpllIF_lplmIF_lpqlIFxŒŽ…x‰�ƒx�‘Ž}\©«°«®ž¥§¡h\©�µž¡{xŠ‹€x�Š€IF_lpqmIF_lpqnIF_lqllIFxŒŽ…IFx…�†lllovlqloIFx‚ˆ†lnmmvlqlmIFx‚ˆglnmmIFx‰�ƒx�‘Žjjj…c©\¨«Ÿ§¡ \«±°\«¢\©µ\«³ª\¤«±¯¡jxŠ‹€x�Š€IF_lqlmIFxŒŽ…x‰�ƒx�‘Ž“¥°¤\©µ\§¡µ\£«ª¡h\…c©\¨«Ÿ§¡ IF«±°jjjIFŠ«³\³¤�°jjjxŠ‹€x�Š€IF_lqlnIFx…�†lllovlqlox�Š€IF_lqloIFx‡�•x‚ˆglnmnx‰‰lx‰•€llllx“}…llolIFx…�illlox‡�•x}ŠŒlqllvlllovllllx“}…lmsrx}ŠŒlqllvllllvlllnIFx�‹‘llmmxŠŒlmlmvllllvllllx“}…llmlIFx}ŠŒlqllvlllqvlllnx“}…llmlx€ŠŒlqllIFx�‹‘llmmxŠŒlmlmvllmtvllllx€ŠŒlqlnx�‹‘llnox�Š€IF_lrllIFx‡�•x‚ˆglnmux‰‘llllx‚}…lllpx‰•€lllnIFx}ŠŒlpqnvllllvllllx“}…llmlIFx“}…llmlx}ŠŒlpqmvllllvlllnx“}…llmlx}ŠŒlpqnvllllvlllnx‚‹Šlpqlvllmrx“}…llqlIFx}ŠŒlpqmvlllovlllnx“}…llplIFx}ŠŒlpqnvlllovlllnx“}…llplIFx}ŠŒlpqmvlllqvllllx“}…llorIFx}ŠŒlpqnvllllvllllx“}…llqlIFx}ŠŒlpqmvllllvlllnIFx}ŠŒlpqmvlllqvllllIFx}ŠŒlpqnvlllqvllllx“}…llnlIFx}ŠŒlpqlvllmlvllllx€ŠŒlpqmx€ŠŒlpqnx“}…llolIFx}ŠŒlpqlvllnlvllllx“}…llrlx‚‹‰llmrx‰•~llllIFx“}…lnllx‰�ƒx�‘Ž…°\³«ªc°\��‹‹‹‹‹‹‹‹Œ]]x“}…lltlxŠ‹€x‰‘lllqIFx€ŠŒlpqlx‚ˆilqnox‚ˆglnnqx�Š€IF_lsllIFx�’�llqoIF_lslmIFx�’�llmpIF_lslnIFx�’�llqtIF_ltllIFx�’�llquIF_ltlmIFx�’�llrlIF_mnllIFx‡�•x}ŠŒmnllvllnlvlllnIFx‚‹Šmnllvllmrx‚}…lllmIFx“}…lmllx‚}‹lllmx�Ž}llmlvmnllvllqlvllop
\ No newline at end of file
+WTmzzƒzWT†—˜‹†�—Ÿzzz†�‹“zzzz†�–”|~{z„zzƒ†�˜ŽWTmzzƒ{WT†—˜‹†�—Ÿzzz†�‹“zzz{†�–”|~{z„zzƒ†�˜ŽWTmzzƒ|WT†—˜‹†�—Ÿzzz†�‹“zzz|†�–”|~{z„zzƒ†�˜ŽWTmzzƒ}WT†—˜‹†�—Ÿzzz†�‹“zzz}†�–”|~{z„zzƒ†�˜ŽWTmzzƒ~WT†—˜‹†�—Ÿzzz†�‹“zzz~†�–”|~{z„zzƒ†�˜ŽWTmzzƒWT†�—šz{‚|„zz{{„zzz{†�˜ŽWTmzzƒ‚WT†•�£†—˜‹†�—Ÿzzz†�–uz||~WT†‹˜šz{zz„zzz{„zzzz†�‹“zzz~WT†�˜šz~z{„z{{|„zzz|†¡‹“z{zzWT†‹˜šz{zz„zzzz„zzzzWT†—£Žzzz|†�—�†Ž˜šz~z{†�˜ŽWTmzzƒƒWT†•�£†—˜‹†�—ŸzzzWT†‹˜šzzƒƒ„zz{z„zzzzWT†�‹“zzz~†¡‹“zz�zWT†‹˜šzzƒƒ„zzzz„zzzz†¡‹“zz}z†�–u|~{z†� �zzƒWTmz{zzWT†•�£†—�‘†žŸœŽ¹jÃ¹¿jÁ«¸¾j¾¹j±¹j¾¹j‹¼¾²¿¼q½WT²¹¿½¯‰†�–wz||�†£˜”zzzz†�–™WT†�˜šz~zz„z{{{„zzz|†’—�†¡‹“zz€z†‹˜šz{zz„zzz{„zzzzWT†¡‹“z{zz†�‹™zzz~†žœ‹zzz{„zzƒƒ„zzz„zzz‚WTmz{z{WT†šœ“†�–wz||�†�–”z|{|„z{z|†—�‘†žŸœ“¾q½j¶¹­µ¯®x†˜™Ž†�˜ŽWTmz{z|WT†šœ“†�™Ÿzz{{†Ž˜šz{z{†�‹™zzz~†žœ‹zzz�„zzƒ~„zz{„zzz‚WTmz{z}WT†šœ“†�™Ÿzz{{†Ž˜šz{z}†�‹™zzz~†žœ‹zzz‚„zzƒ~„zzzƒ„zz{{WTmz{z~WT†šœ“WT†�–”z|{~„z{z€WT†“ž”zzzƒ„z{zWT†—�‘†žŸœ“¾q½j¶¹­µ¯®x†˜™Ž†�˜ŽWTmz{zWT†�™Ÿzz||†—�‘†žŸœ†‘“ž{zzƒŸ½¯®j¾²¯j‡œ¿½¾Ãj•¯Ã‡x†˜™Ž†‘“žzzzz†�–™†�–uz|{~†� �z{z€WTmz{z€WT†šœ“†�™Ÿzz{{†Ž˜šz{z~†�‹™zzz~†žœ‹zz|„zzƒ~„zz{€„zzz�WTmz{z�WT†šœ“†�™Ÿzz{{†Ž˜šz{z�†�‹™zzz~†žœ‹zz|€„zzƒ~„zz{z„zzz�WTmz{z‚WT†šœ“†�™Ÿzz{{†Ž˜šz{z‚†�‹™zzz~†žœ‹zz|�„zzƒ~„zz{z„zzzƒWTmz{zƒWT†šœ“WT†�–”z|||„z{{{WT†“ž”zz{z„z{{zWT†—�‘†žŸœ“¾j½¯¯·½j¾¹j¬¯j¶¹­µ¯®xWTž²¯jÁ¹¼®jl‘¿·lj³½jÁ¼³¾¾¯¸j¹¸WT¾²¯j®¹¹¼x†˜™Ž†�˜ŽWTmz{{zWT†�™Ÿzz||†—�‘†žŸœ†‘“ž{z{zŸ½¯®j¾²¯j‡‘¿·j•¯Ã‡x†˜™Ž†“žwzz{z†‘“žzzzz†�–™†�–uz|||†� �z{{{WTmz{{{WT†šœ“†�™Ÿzz{{†Ž˜šz{zƒ†�‹™zzz~†žœ‹zz|‚„zzƒ~„zzz€„zz{}WTmz{{|WT†šœ“†�‹™zzz~†žœ‹zz{‚„zzƒ~„zzz€„zz{zWTmz{{}WT†šœ“†�™Ÿzz{{†Ž˜šz{{}†�‹™zzz~†žœ‹zz}z„zzƒ~„zzz�„zzzƒWTmz{|{WT†šœ“†—�‘†žŸœWTjjjjjjjjjjjjjjj�«¸¾«q½j’¹¿½¯†˜™Ž†�˜ŽWTmz{|}WT†šœ“†—�‘†žŸœWTjjjjjjjjjjjjjjjjš¹Á¯¼jœ¹¹·†˜™Ž†�˜ŽWTmz{}zWT†•�£†�–wz}|ƒ†�–wz|{ƒ†—£Žzzz|†žœ‹zz{{„z~|z„zz|~„zz|ƒWTmz|zzWT†šœ“†Ž˜šz|zz†�–uz|{z†� �z�zzWTmz|z{WT†� �zzzzWTmz|z|WT†�–”|~}z„z|z~†˜�”zzƒ~„z|z}†Ž˜šz|z|†�–u|~}z†šœ“†� �z�z|WTmz|z}WT†�™Ÿzz�|†�˜šz|z|„zz{„zzz|†�˜ŽWTmz|z~WT†�˜šz|z|„zzz{„zzzz†�˜ŽWTmz|zWT†� �zzzzWTmz|z�WT†šœ“†—�‘†žŸœ“°jÃ¹¿q¼¯j±¹³¸±j¹¸j«²¯«®vWTÁ«¾­²j¹¿¾j°¹¼j¾²¹½¯jš¹Á¯¼WT�¼³¾¾¯¼½x†˜™Ž†�–œ†žŸœ¡²¯¸j¾²¯Ãj¶«¸®j¹¸jÃ¹¿vj³¾j²¿¼¾½x†˜™Ž†�˜ŽWTmz|{zWT†šœ“†—�‘†žŸœž²¯j·¹¾¹¼¬³µ¯j•«Ä¿·«jÁ«½j®¼³À³¸±xWT“¾q½j¸¹¾j¶¹¹µ³¸±j½¹j²¹¾j«¸Ã·¹¼¯x†˜™Ž†�˜ŽWTmz||zWT†“žJzz{}„z|zWT†�–”z||{„z|~zWT†�–”z~‚~„z|}ƒWT†�–”z|{„z|}~WT†šœ“†—�‘†žŸœ“¾jÁ¹¸q¾j¹º¯¸xxx†˜™Ž†�–™WT†�˜šz|}z„z{z€„zzzz†—£Žzzz|†�˜ŽWTmz|}zWT†�–uz|{€†Ž˜šz|}z†� �z‚zzWTmz|}~WT†šœ“†—�‘†žŸœž²¯¼¯q½j¸¹jµ¯Ã²¹¶¯xWTž²¯j®¹¹¼j·¿½¾j¬¯j¼¿½¾¯®j½²¿¾x†˜™Ž†�˜ŽWTmz|}WT†�–”z|{„z|}€WT†šœ“†—�‘†žŸœ“°j¾²¯¼¯q½j¸¹jµ¯Ã²¹¶¯vj¾²¯¸WTÁ¯q¶¶j´¿½¾j²«À¯j¾¹j¬¼¯«µj¾²¯WT®¹¹¼j®¹Á¸xxx†˜™Ž†�˜ŽWTmz|}€WT†šœ“†�–”z||}„zzz{†“ž”zzzƒ„z|}�WT†—�‘†žŸœ“¾q½j¶¹­µ¯®x†˜™ŽWT†‘“ž{zzƒ–¹¹µ½j¶³µ¯j«j‡œ¿½¾Ãj•¯Ã‡jÁ¹¿¶®j°³¾x†¡‹“zz|†˜™Ž†�˜ŽWTmz|}�WT†šœ“†�–uz||}WT†�™Ÿzz||†�˜šz|}€„zz|{„zzzz†� �z‚z{WTmz|}ƒWT†šœ“†—�‘†žŸœœ¿½¾¯®j½²¿¾vj½«·¯j«½j«¶Á«Ã½xxx†˜™Ž†�–™WT†�˜šz|}z„z{z€„zzzz†—£Žzzz|†�˜ŽWTmz|~zWT†šœ“†—�‘†žŸœœ¿½¾¯®j½²¿¾vj½«·¯j«½j«¶Á«Ã½xxx†˜™Ž†�˜ŽWTmz|zWT†šœ“†�–uz|{†�–uz||†“žwzz{}WT†—�‘†žŸœ†‘“ž{z{}�¯¾j¾²¯j‡�Âº¶¹½³À¯‡x†¡‹“zz|†˜™Ž†�–™WT†›Ÿ‹zz}z†�™Ÿzz~~WT†�‹™zzz~†�–uz|z†�–wz||†�–uz|}†�–uz|†�–uz||€†�–uz||�†�–u|~€z†žœ‹zzz€„z€zz„z|{�„zz{€WTmz}z|WT†šœ“†�–”z|{‚„zzz{†�–uz|{‚WT†�™Ÿzz||†�˜šz}z|„zz|{„zzzz†� �z}z}WTmz}z}WT†� �zz}zWTmz}zWT†šœ“†Ž˜šz}z†�™Ÿzz||†� �z�z{WTmz~zzWTmz~z{WTmz~zWT†šœ“†—�‘†žŸœ‹j·¹¾¹¼¬³µ¯vj·«Ã¬¯‰†˜™Ž†�˜ŽWTmz~{WTmz~|WTmzzzWT†šœ“WT†“ž”zzz}„zz}WT†�–”z|{{„zz{WT†�–uz|{{WT†—�‘†žŸœxxx“q·j¶¹­µ¯®j¹¿¾j¹°j·Ãj¹Á¸j²¹¿½¯x†˜™Ž†�˜ŽWTmzz{WT†šœ“†—�‘†žŸœ¡³¾²j·Ãjµ¯Ãj±¹¸¯vj“q·j¶¹­µ¯®WT¹¿¾xxxWT˜¹ÁjÁ²«¾xxx†˜™Ž†�˜ŽWTmzz|WT†“ž”zzz}„zz}†�˜ŽWTmzz}WT†•�£†�–uz|{|†——z†—£Žzzzz†¡‹“zz}zWT†“žwzzz}†•�£†‹˜šzzz„zzz}„zzzz†¡‹“z{�€†‹˜šzzz„zzzz„zzz|WT†�™Ÿzz{{†�˜šz{z{„zzzz„zzzz†¡‹“zz{zWT†‹˜šzzz„zzz„zzz|†¡‹“zz{z†Ž˜šzzzWT†�™Ÿzz{{†�˜šz{z{„zz{‚„zzzz†Ž˜šzz|†�™Ÿzz|}†�˜ŽWTmz€zzWT†•�£†�–uz|{ƒ†�—Ÿzzzz†�‹“zzz~†—£Žzzz|WT†‹˜šz~|„zzzz„zzzz†¡‹“zz{zWT†¡‹“zz{z†‹˜šz~{„zzzz„zzz|†¡‹“zz{z†‹˜šz~|„zzzz„zzz|†�™˜z~z„zz{€†¡‹“zzzWT†‹˜šz~{„zzz}„zzz|†¡‹“zz~zWT†‹˜šz~|„zzz}„zzz|†¡‹“zz~zWT†‹˜šz~{„zzz„zzzz†¡‹“zz}€WT†‹˜šz~|„zzzz„zzzz†¡‹“zzzWT†‹˜šz~{„zzzz„zzz|WT†‹˜šz~{„zzz„zzzzWT†‹˜šz~|„zzz„zzzz†¡‹“zz|zWT†‹˜šz~z„zz{z„zzzz†Ž˜šz~{†Ž˜šz~|†¡‹“zz}zWT†‹˜šz~z„zz|z„zzzz†¡‹“zz€z†�™—zz{€†—£ŒzzzzWT†¡‹“z|zz†—�‘†žŸœ“¾jÁ¹¸q¾j�ž™™™™™™™™škk†¡‹“zz‚z†˜™Ž†�—ŸzzzWT†Ž˜šz~z†�–wz|}†�–uz||†�˜ŽWTmz�zzWT†� �zz}WTmz�z{WT†� �zz{~WTmz�z|WT†� �zz‚WTmz‚zzWT†� �zzƒWTmz‚z{WT†� �zz€zWTm{|zzWT†•�£†‹˜š{|zz„zz|z„zzz|WT†�™˜{|zz„zz{€†�‹“zzz{WT†¡‹“z{zz†�‹™zzz{†žœ‹zz{z„{|zz„zzz„zz}~
\ No newline at end of file
diff --git a/src/database/items.lua b/src/database/items.lua
index 710a571..43c0bd1 100644
--- a/src/database/items.lua
+++ b/src/database/items.lua
@@ -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()
@@ -425,5 +492,42 @@ function C:unplacedString()
   for k,v in pairs(self:getUnplacedItems()) do s = s .. "\r\n" .. v.name end
   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
diff --git a/src/database/location.lua b/src/database/location.lua
index d952cb2..6ba4f86 100644
--- a/src/database/location.lua
+++ b/src/database/location.lua
@@ -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
\ No newline at end of file
diff --git a/src/database/region.lua b/src/database/region.lua
index 446a609..0ebc8f4 100644
--- a/src/database/region.lua
+++ b/src/database/region.lua
@@ -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)
diff --git a/src/database/world_graph.lua b/src/database/world_graph.lua
index 094d443..24df0e5 100644
--- a/src/database/world_graph.lua
+++ b/src/database/world_graph.lua
@@ -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
diff --git a/src/randomizer.lua b/src/randomizer.lua
index 6fd46f2..aac504f 100644
--- a/src/randomizer.lua
+++ b/src/randomizer.lua
@@ -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
