From 9a34024d901ad44e56d020173d0cddebe53b8c4d Mon Sep 17 00:00:00 2001 From: aerinon Date: Fri, 14 Jun 2024 17:06:35 -0600 Subject: [PATCH] feat: various indicators for fake boots and mirror scroll added --- InitialSram.py | 3 +++ RELEASENOTES.md | 2 +- Rom.py | 2 +- data/base2current.bps | Bin 117396 -> 117528 bytes 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/InitialSram.py b/InitialSram.py index 0bacb744..c5c6a814 100644 --- a/InitialSram.py +++ b/InitialSram.py @@ -210,6 +210,9 @@ class InitialSram: equip[0x371] = min(starting_arrow_cap_upgrades, 70) equip[0x343] = min(starting_bombs, equip[0x370]) equip[0x377] = min(starting_arrows, equip[0x371]) + + if not startingstate.has('Magic Mirror', player) and world.doorShuffle[player] != 'vanilla': + equip[0x353] = 1 # Assertion and copy equip to initial_sram_bytes assert equip[:0x340] == [0] * 0x340 diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 30ba40f0..2ceda908 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,6 +1,6 @@ # New Features -None for this release. +File Select/End Game screen: Mirror Scroll and Pseudoboots added (Thanks Hiimcody!) # Patch Notes diff --git a/Rom.py b/Rom.py index 5f2adfb9..93cd5855 100644 --- a/Rom.py +++ b/Rom.py @@ -42,7 +42,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '2cbc343d4d554d38d3b0c9c348ca6601' +RANDOMIZERBASEHASH = 'f38b8d05463222c940e9e8115f2f1ddb' class JsonRom(object): diff --git a/data/base2current.bps b/data/base2current.bps index b1a1f947ad9281e461a4051ac7df5f4631502e3c..491ba32fab1dc051a8bc1175f9335996ef2af56d 100644 GIT binary patch delta 11031 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 delta 10919 zcmX9^30zah*1vNDVTZ8q5H35igNllZh>GHZyCNzoRWw@n4Hf1_0tAR53@|`|Tp)k} zF-VGNU81K5Nw~Z7tGj(^jjculf!B^2?q7neAk@v&^}vsWz*uGAj=TKoJrG z+7*j4O^u(ZnP5c^17<4jzX0_}54;6ptcEs?^tSej(yW52%qa8==;iy?aRbsO)K0H4 z@w@V5I^y$Q&~JLtZ@gH`<2_t;;MNuyvlm5}#M!Jp!*zSY7$H=!%r|Ix@xuq^rI;AIKjPs^_5!Yq zZO|U`iS+1KsMEX@EY(f4umGSM&9ICIw{!YlhR05*Nrg^E9~bI|6B(ku^6a?diWm1u03k1rsV`x-iA z2>s)p;wiqT4uLr6lS(x8lTX;X0k)80+xOwJDh8uWj})LmO&$vYMn;bXAO}tJjBu*F z!PQhT(dC@M53ee?So+<7v=ZfeMwvb8;JRhZebnnY&h@p9JH-~AlODOwxv_oBMRu7= z%t>dVx1JfG1}*Wbr~kZ;j9wFx)jb@O|E=s4D>bmNMq+*vEg6(X{Z^O&RTf_2Oekf1 zPU5s##TS((nWa+ZY9BnDw$FfD0(km#(`>Uxg>txa`7u8OXZQ$638n)pc zD@%eh<{_tcBV`7;Wt|r*V-CvOyUBhGH%ia34Hwyl6sY3aR-*krF~9+}`$U@UZ0CNE zF$20sKJNk8iM|zffDlyZrvp`JGBXaGM4K5TV4(E3%jz<@HGu;?Oi_MM!X;^i)L9__HhL>4~+zdfjs0Kw2Z#-B@zYA zqF;BQo}e~x6|D}Q?CW@&gC*K{z=2s3U>*$C?U~`R(gfON#I`fNrC@r$c?vtD95$4Mm z*mPQHSp#ztJ&U{`xOS6csLz|P&533c#8sKwb*G|&XmXOiiU|gh=bzy-y|P9%zD zTdW?0qOiCC5Tsiaw~S|Z<8$sp;C@LWC~6WjL|67q_^>8ZM^qoAj>|;%{}u~a78aAE z+=JDpWXx!hdVnpfmof#FEi;$5K49TJZGjVPU^djK$v{VHBup_*Fm02Jj66_eYDr-Y zkv6<(zG9bH#(et;vQ8+Y|Iwkkgh2YI9&|Oq&GlK0`qnpP#cUZ-sqm4E`A4TdCu3}o zF=35Md99lKepxqL_Je}iQmY=J$O%hE8zzl6TUV<#$e46p!z8t7xcHoM!4_FrtsuDE zOk)>3pGfn_ZGEC0drr!jesRsqvg`pXbAl4)zN!`NnC@o%vBU&QOk{E*x@kx;eap1A zTCQ{B9uxv~dyl6V$(R6%I*BZTHBpU|E4h&?3MSCDVV9%TvkF!Rc0-k zmLvr0(E217(1#8r`2%xQm*gQxD3qinR!SCySF%wpxvur-Zqg#K5&6vsjnwMZHLSP> z@$s0z?jnc!nO;5r*0l$$IEkE(iC5H|jETIW&Lo*H^ytuxCk{t%sRfWd@i}`!z&4ci zM>9z%CwVh52X~VF^LL)-eqo_NtYA9tt4F%Y$Vo?1m`)aqz*C)vN$~?2v+Zm3u$CLR z@an;@k24EonNDA;4~bRRt0cCW^>DBUhik}Yr+tfZTjTto*PbumX{0r*On zee9$qKsuY^Od3qlZ7Z1xfW7W?X%-)tBD)HIE0q_^3XqsB?-Zkq3WnaX0_9aK0SD3D zicoM9{axYhq^Q&%{Ua~*19kaey{7^`#A-$B-u z6M+z=RPK!OT|FQj7ZZ+Xb&p%b2}w+(E@AwDstGIVhLnw15e3aA4rnJ&95@lgM!~(4 z&`@O(oi`l?RE2{mw7AMC>O(DOYEw&5!^6sD6Cbg3yO>RC7k4F7q5@$-mP9DY>gsG{ zPm}p~Au*ncDytScPhbYlLpXIvsFlF(LD(IqMaU7otxBF0sT|Cv%6ao;%0bI9{6#qk z#xSiu+Y<8w25g{t!i!u#02=4HyC z5>aVdXDc^oVc-iDYGG(|=Ot)suu6M<7fq1L&^w8!rAs4Gkw(li;b%~u_7oRjFn>~-B z@v;?{s*(u*gH7#aY*D+Lcq!{DZrtSgOjX`uOLkw&VZjm(%UIFeXzk`u1|W^Eng)6QMx2O zzughlE8XqGhi@B#wb|+U1}p9Q^n7nUx~bd&>`{FEf#~4KA9QX9p7fF>eV9=q-;kc) zOmP%;n_QqF%V{cnsfH$lw8~9f1q?irLl5h{T((?1V=!yB=Ee$gM?14x=HHagw?ftp z>xo~tyV#{V-Kaex@Tw__7U!e?JR`LW9{; zYa>s%ylr5Ze6qaT{Mtg>#VwZDc=Y$-Q*Jy^6lsh5dooa z;;%RHrXN{=YS}C-W@#KhjHZvU0LunxQEF?+AkSzj9O!^N;f0Qztd=7!rB_tusIke_ z>7c{IOZm0C>_n;NOim|P&IrHnK!Z&YsX_~gmcEje^AaEe1@Z$wHYqAZV@Q zVt4d$UDr+S_`zPjgy-G^7Yb!RqNC0&P)8+b0D|TIR$T%k&~G_fw%Pe+N3L&i1#C z_+Cbd9+s;7-kgy=pgT079G@|1kapJvxfg24-U}%d)w&jBBU!6kW_C~co7_=OD0;{N zt#t^L4n>bDw+6%7^4G!>JzWp5d+z&Qva!^aW+|kMPljSfF_rti%it&^U2VIpO`cX504G|}HL zdF3>bp>ChN9Jd|aJ|gWkqLv-qb{_d7Z}0=k42O76y+ovyuZO)vX)26igB8Z0L1bj` zj&P)J4+19WdHXgHhZdi7CpJ@bG7juRs*}miM|-*3Jf0y@85;Ul5w9^%?Zo?n(Vr(* z^A|Zld7eF5u89DS=(r|4a9c7|2>ONEM0rKkPduZEJQ2lAg38I0;ElA`c^-0-Ft+HP zCL$@=7vA=6JsHZQ25HLRcq!V9m~w+vh$`iID+D30cs|UbQ5jy>C+Coz1#A%BJR349 zN_~hH_p;N_fhlN4#~o9STKsubm33qtd$Mk+UJ1D}X3bcfHddtS`H!p=6wob{pFr3XFMO-9Cc>hJ%_8<%a1L zl=etyf4DA*A`(%Zo{{1GI(`9xnOoJ1xI!K(^0@$Ipgp{nxoqw_j zO9?Isep8*l=0<~nDA0EUS|i>9tK`NTdD`EVwyfg!8+quyPC*>lEuTc&@`B&UYT&lk z3JR)Lg`w6@GAv_~pUE;$jTR}bkwx!egFSm2|5*PPa(*-|lQYU5^eWzG+#X z_(m%x1$CcFhJ?zElio-idMl21`i8MpS*=t%rPr;9U?u(0b&gPS>vmmR=~?VI?G1Yi z3y`L_(I(iym0KFjwe>!EcLLF}v!Slzo#9nky-!!8&)g3mwo;U=(MJQ21FAeLH1+Hh z-*rdl&w5XHH*lnpw$Uf=S5HDV`oN2%#~t6!DJ<)aLRhv^C011Xc*v?z30tWYm)=y} zDy?a$W&JxN#H=53?#l%8(4IbnPw*Ea?dQa-3*@1Y*b##*Rw7X(E8X!&9@;z~Wu5yL zSfRx85vDHS9S%kxpPxl%<)Pm5Rdap8yWP;45;2-{95cCy?H9Ch`e*mKApuig1Y_=T zvG=&E_qg=?+;{i6r}sILb_VfLff0!Mqnk6`H3su)J6e3}V;h7%ogHVkee`es_EFZ- z3W}Bc#9!?fS5HX#(Gza*tz80_?)`~1{X>-gJZfi^yb1Q;Eh&ajI?;zsLtF|?Eij?uKc1K zpecV{$ECYArYEndnbQbu{*n})tO=_KPrVYYb)HMr)?CRm@^TjgasM9RtN>Z7$_A@Y5^o_1V>;A3}kZLWJfj&@8yw;l`W4fg28;~`Vm zJw;^I4Nvx1O}wnmV)l7`qBcZcQz=L_dJ4UoN{nH7DU7O~w%Q|8Z0DC&n(Hi?(i(2~g|sR?rq z4gYW$tVJ7t+zA5Fmp?`cJ=YgY1fwVhp$!Q?HfZQnXiK~@Rq(O`sfL%TqLJV8U@%`d z_qhg`9rm>J*6+|b<0TOMe^@Dk_H6sT}*-(gyAxs71+Vc!$6h4F)EZ1{K04>CF2RXfrJ=I z>4evLHE8~9$VOu)t>R&;r!gB_uR;e~2#>fb5F#*l~IXGcmQZXB-O8gWpjw1wd z#slSI`Nzj`a%3?Zgm-+(2B`!WP+&aCk;)*sSQ_*?4_n5g)}PndESg*_cmKU^^4v!# zXsyoXmv{i=DEVcGbF_hV`aZj}Z*?f_3}~0hKT6L>J}CdCN9Z^b3v^W-;FU-(aW?Yz zcn)16fp$vj8KPR6!k;vYG*rVC8|7*q>VFw#lfs8GQkaV-!j>5H*Gq3=zFl7l-D2KL zQ-~Z!PbXITg~aIcrEpd|D^e{)i(btJn^5(u7%)*c@M@{8O@2m6ZD(ccfZJ9IXQGgQ zLalaBFOf0TKSJfEohb94<-*Ufx?jL(s?@^K>P+4*uwOukeqpn%i1`7l83*0ne>T%D zi=0k$4GD=xs$#okdwHU2laMO;%&G+-4)Cg2-~^beYVecQoQ*}YJJoDA4%>~30r=K@ z-;uA8-H*y~SVV&eaJ8?N1{lzOt8uIeU_ff$auZMrKt6tE3aTf3r&KdwlfseGYti5hP$ZFbpA&s-*YvO+3~2En0*mri@W$BV0=`v>^w77!ZD=< zTnOpDo#m7vB?^JWOO)E;ybP9J(O;EleLJW1Nwf=<3;K}HHz*tP&A?PJ9jBOqXq&z1 zP_pMWKAiUFKbdxzH3Pmr+fv@zi;dRASGd93MN%=nt6!+;ST29Y+rPm+v+Vx6Ivi#W;-{VN;)wTAO}zF?Q>9SEJn7>yL+^47d5~EQd}*q2lGuw{1%nQT zH`(^0f9veX&~49h=7`4i<{&OE)}yG2f10yvOrk}lcyB;)l~zSOGy%@mw2lQ~$!JI( zuTObo3e8)ij3!J9rY*of!HsDCt1snEO{=I=cZgNY5oES zTY`DC**?725~R@d0es#PEXco9=^*?XX;1KWg(gu(Uu{ywoci-dtLAAH+#`YTbSVsJ zUZ}dqdbhW;6I3;O()b7!q7pxm{89NLkH~=LcJmk9kff4J$s(}U7*b*lj4qAr!yN;}r zE5XfU>(%l?qRmh>DLzKrA$xfVI)}ej{g*wUdLXrE&QmHR+BK?6vO>bIUCo|QT_mN| z_$O;3nx9}#8{n0Hdr+a;YKo*I( zqbL@l|Ki*Nyt+)euB@T?PtwROoR=fE5VN+*g)-FI zL{sFb_#jT$UV+pk561FA$b<`MufTU~fTzobhyqnsM1dmA(L)xFOOVBQnQB#hwJnI_ z`_1`Il|BbgvISmXJYHc7`UDGY7ul{~xZbwRMdniP(%^z4?7*Olm&6nnT57)akhuvw zWF7+TMk0)v*jfN$(u2!nD|*y5s(>Mo;Hh(dVEhg z-KS~+We{nLplZg!vd8PqhoT>5FbB?(SVhR#m1LpjV{h3BN9=UCtjbZd#amX6t())) zdk_tzxX2#-VCxHxv$5Zc^*PjWr5}Y4JAf#G2RJTiHlY3!lUP=C%a_LI96$*D8OB2n zAezo`#!imF&%)XAv6KrJ-~c?$5yX4!t*)gFmfFVje5GqQ) zyC16kxl`2TU?re6R)f~$wnxbvtVF7bDR`+9=mPZ^I0JWnZCz<9PR2rKFvT(a;0e}5 zDGr4E#rYbVl9(`0@yE_!iS3jyx#Z$VT|R0kna9}UFPuTJ$&m)k;J=)KSL~5`mD^z6 z`D67e4+8o1s#OHodR4|?UT$@W<@45or|#v0Lqg&7dK`K9gxvizJjVq@WQCa6K~=Y& z(^F!Vy;vn+eW4$#FISyWaV-KdDrZs4bTP@7s|+dtRpotI&=l%3uJW(WzRSNmyWjGf z<(HOUSzhN~pM8&iZ}!f4J1z4p^DP@!6-Y|F@r)FF#|5kh={U+2xaRMg|47=LXnL(y zaoJQ;ZlbEJ-rggbe?tDU(L$#jx4o%--u9-JQ>c}_sQZBr|D*I@DU%q2T;O<{+jOzl z!A8~IIU{Ym=SyWYO@{_a%oj+p<&2Sb-;5VhJ^Wo6F!v`m?C&Y_%h9;Q-=mFY?^sdu z;@S1ewMi_iLF)_C*qJR!F07P>t`8UUs$1OF%Nk6zMZf2XG(zR3b+WEm56#EolO>@^ z#)&xQ`?ZDFn$$O#Zg2gKF)Vl1-y$gNw$TqZVS6|56Md-#kGg@FWfz;_qp%in%hDEA zi|I9wr6(HxZ05JvwHTXkHEAvk3>>AX%M>**pyKV4op)1a{hNWNA3ikOw5W2o%4R{J z%xX0cg_MCew&`@1&>QEugAlM6x4VO+{JNR`rA=yz`j$Mh*3-T=QpI2^Mcq~If$TRr zIs2PV*=Ltk#O_mq<;}`1SzXWCw`(FhzU-u^hvcECdm4%wCDbEL4;}ir;nc2E+$oAW zsY~4{Ra__3=gOpzJM2Be>X#mWr}m%LTA9K@`_t~H$2$8t5D5L3+=92|{?&G10>t?q zU@6bp^dY|Q0WQ!EK7AFQARB-!_^lTRHTS`1$XvL!eIeeU%mk$1UUH?T-<`tK8PGtF zcHt)s*y1V5mfhu1ns^fY);Q4e%Tw~Q?4TXpGmgktmOohP7ZC_oLvt=BpgA@G^1EjK zA@t}e%eZwS^H#sGYvUin1bojQ_|qx=_%DA@20Ub=&gIy z9s26aB}UtRA&K&IW#a=2uw4-Gpgi!@Ah44_R}dKIy7@oqdE{eJeo`)k--Oy(ly_t? zw+HdBLBQS2qo-deBBQhm2E|tH6D6H{CP-|cuP<&628(@`FDk~%78SFzE{HWLyNqT> z#(WxRi+^U5(EcE79|9OU(G8Ce0k7x#E_`y{rB@x*w~ASwEvS!N2Wb7qkuP!_KM&;|7feljrtu*5Gd> zVm#qIj34}+5TW>+P%zQ=+jGM5bJbHPHK`8Fy2lzDnRzYjZ;g=sy%B!%2Xg>Ng@JI# zfWH3-UaNd3Nmv68no+YFlHMPOfeHNBokjBL-{FohaK_o^dkvUL%mC}B5y-^ynjeq* zX-x61aUe+;a!&2GwIJ(fIc-n14pz&$QpXBfHvBAiu&1gc3-MRufNs*>dUYGGfiGyI z^!rh+gv?0H9wb)=TY`s?xK$vy@SkWJemWG5kLBO1Z5{9kwUZ2}Jg7c>IM_@(rtRap zD0&0=0|7-7Y*pqR!U<8}Dj;GW1zMBr^#8t=Sfp2dlv~qi{ZW}Bio8wG>m6*w6^XmQ zZMToU#=dKD@_Tr~VFy%3gcVAiwI}gf*CLrIWwcN&#NR~|eJ{XoqQUIhnODmB9v&W{ z?>|TehR7lLpZ;V)wD1*4V?+;2+_nm-4vrGO*N#96Qro{@!v`Cneu{M|38 zr;_XDdKKfYI1p#!xz7w%FMTiR7u?#m2fvIXj>RUC04`_8Lag2GLxPT{W`_0TFGScU z9?Y@XxJ3Y~D5Fi+K_4^)?};ZDk1$*n4+e-yUN;`>0y2DOJU9mC-~|)F3a_S{zr+FK z9~$cCt|LB1tJ}Fg<@|(~xjyiXa1Pc_0HO4b4R~Y%Nb`ta^=sF6(;svj`FfJVKa@VQ zK{Di2rUoyX2(EX{>-`7Y}e! z^n6wJ(a&q;{Pg^vL+$Y4T)b`)2oz3El&CTuS1by=fC{Tf=+7yc>g;7r$%`=(ZNz&s zaLXi+ZaZ)Gx8#H#Cjn`;^P{PKU@~Ym15h;)5)X9S%sP5^Q1X#bhl1O#i>;Ly%&%+C6OW@kdk2@1D?kAcKGC)CW+QuMH9>=nuTuhmlGhH6YzUaSNfzYp04U5io@ikb|T06rxThvQuF^AylQTQ0#B zvp^&5>VsovgJ{0f!SV|pd-`%_gKIQ>bQO-63+gS)P9M7f z907FJ5&V83NCWfw<}Ctp04(|*rh|pRbd9i9ISEHB0i9rG-#1HunzoPgsB7)+Hfgqi zbhBj%=DYWuSPoVLI$$k+u>!=>84lQcB?uGP@0PY+se#5o@}B|i9_))(t^|p3N1YU^ z-8Q#RtUhzv>kalz_*CIUSyE2Q?Ne%deJEyEC8wPQyF))1fHGkDTZs|infT^PkP33K z-72uh+BC0DVdM*KYdW21EL#OG(uZc@wACOC?7;_CgA}m2@4{-}2W&oauC20YwHy>s z*nAp(kpVs?stvDR0|MzIVHmCjWQtr3p}_6 zggfnyw1v{;)SBw>xuq3{2iT3u_~mze1&u(E5;WW#$?ca-4|YeFP%u*r>jc z%|HymMclasEVEmiTCB*KEaJG+>!Qo?K5UyqBp^K(Kgj`+z!BSQ1yNubp1Kvp3aoY) zS3R$IUeTF@;!5zAEjWKG*kENAtO)-|>%Xi%+^O&9t)Rx1Z<^TgYtF(x=^^ljM_buq zcocZh%Y=RPM}aS}Kb%s!r&I6JrGglAYV ztDkl3akAC^y2HI)vN)zQ)3?1(T@E6{==iz#-lrfi;ArCYu8^EkqL-IsKMtOC6~1@F2<9OdbKhD$(iV!39y zw8EDB6Kbx1Uu{3A19nM4Z_ZX$QAs4!S*)}MeaY9sS)Tn${*Bft)G;cHRCrOk-I;wB S1Hg=De&*_&(0_iT_5TMlj;1aE