From 185e7f967decc4e33698b8c90b7c5e80301facbe Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 19 Jan 2022 03:43:37 -0600 Subject: [PATCH] Restored vanilla Ice Palace terrain for Inverted --- OWEdges.py | 5 +++-- OverworldShuffle.py | 6 +++--- Regions.py | 5 +++-- Rom.py | 5 +++-- Rules.py | 1 + data/base2current.bps | Bin 87514 -> 87420 bytes 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/OWEdges.py b/OWEdges.py index 6905570f..95c546ad 100644 --- a/OWEdges.py +++ b/OWEdges.py @@ -820,6 +820,7 @@ OWTileRegions = bidict({ 'Lake Hylia Central Island': 0x35, 'Lake Hylia Island': 0x35, 'Lake Hylia Water': 0x35, + 'Lake Hylia Water D': 0x35, 'Ice Cave Area': 0x37, @@ -1584,6 +1585,7 @@ OWExitTypes = { 'Lake Hylia West Pier', 'Lake Hylia Northeast Water Drop', 'Lake Hylia East Pier', + 'Lake Hylia Water D Entry', 'Desert Pass Ladder (South)', 'Desert Pass Rocks (North)', 'Desert Pass Rocks (South)', @@ -1639,8 +1641,6 @@ OWExitTypes = { 'Ice Lake Northeast Pier', 'Ice Lake Northeast Pier Hop', 'Ice Lake Moat Water Entry', - 'Ice Palace Approach', - 'Ice Palace Leave', 'Bomber Corner Water Drop', 'Bomber Corner Pier' ], @@ -1760,6 +1760,7 @@ OWExitTypes = { 'Ice Lake Southeast Mirror Spot', 'Ice Lake Northeast Mirror Spot', 'Ice Palace Mirror Spot', + 'Ice Lake Moat Mirror Spot', 'Shopping Mall Mirror Spot', 'Swamp Nook Mirror Spot', 'Swamp Nook Southeast Mirror Spot', diff --git a/OverworldShuffle.py b/OverworldShuffle.py index 40c98c36..0e14bb49 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -1208,6 +1208,7 @@ mandatory_connections = [# Intra-tile OW Connections ('Lake Hylia Central Island Pier', 'Lake Hylia Central Island'), ('Lake Hylia West Pier', 'Lake Hylia Area'), ('Lake Hylia East Pier', 'Lake Hylia Northeast Bank'), + ('Lake Hylia Water D Entry', 'Lake Hylia Water'), #flippers ('Desert Pass Ledge Drop', 'Desert Pass Area'), ('Desert Pass Rocks (North)', 'Desert Pass Southeast'), #glove ('Desert Pass Rocks (South)', 'Desert Pass Area'), #glove @@ -1669,14 +1670,13 @@ ow_connections = { ('Lake Hylia Teleporter', 'Ice Palace Area') ], [ ('Lake Hylia Island Pier', 'Lake Hylia Island'), - ('Ice Palace Approach', 'Ice Palace Area'), - ('Ice Palace Leave', 'Ice Lake Moat'), ('Ice Lake Mirror Spot', 'Ice Lake Area'), ('Ice Lake Southwest Mirror Spot', 'Ice Lake Ledge (West)'), ('Ice Lake Southeast Mirror Spot', 'Ice Lake Ledge (East)'), ('Ice Lake Northeast Mirror Spot', 'Ice Lake Northeast Bank'), ('Ice Palace Mirror Spot', 'Ice Palace Area'), - ('Ice Palace Teleporter', 'Lake Hylia Central Island') + ('Ice Lake Moat Mirror Spot', 'Ice Lake Moat'), + ('Ice Palace Teleporter', 'Lake Hylia Water D') ]), 0x37: ([ ('Ice Cave Mirror Spot', 'Ice Cave Area') diff --git a/Regions.py b/Regions.py index 2cf2783e..f94599a8 100644 --- a/Regions.py +++ b/Regions.py @@ -112,6 +112,7 @@ def create_regions(world, player): create_lw_region(player, 'Lake Hylia Central Island', None, ['Lake Hylia Central Water Drop', 'Capacity Upgrade', 'Ice Palace Mirror Spot', 'Lake Hylia Teleporter']), create_lw_region(player, 'Lake Hylia Island', ['Lake Hylia Island'], ['Lake Hylia Island Water Drop']), create_lw_region(player, 'Lake Hylia Water', None, ['Lake Hylia Central Island Pier', 'Lake Hylia Island Pier', 'Lake Hylia West Pier', 'Lake Hylia East Pier', 'Lake Hylia NC', 'Lake Hylia EC', 'Lake Hylia Whirlpool'], Terrain.Water), + create_lw_region(player, 'Lake Hylia Water D', None, ['Lake Hylia Water D Entry', 'Ice Lake Moat Mirror Spot'], Terrain.Water), create_lw_region(player, 'Ice Cave Area', None, ['Ice Rod Cave', 'Good Bee Cave', '20 Rupee Cave', 'Shopping Mall Mirror Spot', 'Ice Cave SE', 'Ice Cave SW']), create_lw_region(player, 'Desert Pass Area', ['Middle Aged Man'], ['Desert Pass Ladder (South)', 'Middle Aged Man', 'Desert Fairy', '50 Rupee Cave', 'Swamp Nook Mirror Spot', 'Desert Pass WS', 'Desert Pass EC', 'Desert Pass Rocks (North)']), create_lw_region(player, 'Middle Aged Man', ['Purple Chest'], None), @@ -212,8 +213,8 @@ def create_regions(world, player): create_dw_region(player, 'Ice Lake Ledge (West)', None, ['Ice Lake Southwest Water Drop', 'South Shore Mirror Spot', 'Ice Lake WS']), create_dw_region(player, 'Ice Lake Ledge (East)', None, ['Ice Lake Southeast Water Drop', 'South Shore East Mirror Spot', 'Ice Lake ES']), create_dw_region(player, 'Ice Lake Water', None, ['Ice Lake Northeast Pier', 'Ice Lake Moat Bomb Jump', 'Lake Hylia Island Mirror Spot', 'Ice Lake NC', 'Ice Lake EC'], Terrain.Water), - create_dw_region(player, 'Ice Lake Moat', None, ['Ice Lake Moat Water Entry', 'Ice Lake Northeast Pier Hop', 'Ice Palace Approach', 'Lake Hylia Water Mirror Spot']), - create_dw_region(player, 'Ice Palace Area', None, ['Ice Palace Leave', 'Ice Palace', 'Ice Palace Teleporter', 'Lake Hylia Central Island Mirror Spot']), + create_dw_region(player, 'Ice Lake Moat', None, ['Ice Lake Moat Water Entry', 'Ice Lake Northeast Pier Hop', 'Lake Hylia Water Mirror Spot']), + create_dw_region(player, 'Ice Palace Area', None, ['Ice Palace', 'Ice Palace Teleporter', 'Lake Hylia Central Island Mirror Spot']), create_dw_region(player, 'Shopping Mall Area', None, ['Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Spike Cave', 'Ice Cave Mirror Spot', 'Shopping Mall SW', 'Shopping Mall SE']), create_dw_region(player, 'Swamp Nook Area', None, ['Desert Pass Ledge Mirror Spot', 'Desert Pass Mirror Spot', 'Swamp Nook EC', 'Swamp Nook ES']), create_dw_region(player, 'Swamp Area', None, ['Swamp Palace', 'Dam Mirror Spot', 'Swamp WC', 'Swamp WS', 'Swamp NC', 'Swamp EC']), diff --git a/Rom.py b/Rom.py index 0d948695..1bcea73f 100644 --- a/Rom.py +++ b/Rom.py @@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'ea4215dbf86da55ffa1255fa5e687b62' +RANDOMIZERBASEHASH = 'b300438a7242825e33300f9d155814ef' class JsonRom(object): @@ -2682,7 +2682,8 @@ def set_inverted_mode(world, player, rom, inverted_buffer): rom.write_bytes(snes_to_pc(0x1BD1D8), [0xA8, 0x02, 0x82, 0xFF, 0xFF]) # add warp under rock rom.write_byte(snes_to_pc(0x1BC5B1), 0x00) # remove secret portal if world.is_tile_swapped(0x35, player): - rom.write_bytes(snes_to_pc(0x1BC85A), [0x50, 0x0F, 0x82]) # add warp under rock + #rom.write_bytes(snes_to_pc(0x1BC85A), [0x50, 0x0F, 0x82]) # add warp under rock + rom.write_bytes(snes_to_pc(0x1BC85A), [0x52, 0x13, 0x82]) # add warp under rock rom.write_byte(snes_to_pc(0x1BC5C7), 0x00) # remove secret portal # apply inverted map changes diff --git a/Rules.py b/Rules.py index c0904de9..f1c216a3 100644 --- a/Rules.py +++ b/Rules.py @@ -825,6 +825,7 @@ def default_rules(world, player): set_rule(world.get_entrance('Lake Hylia Northeast Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Lake Hylia Central Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Lake Hylia Island Water Drop', player), lambda state: state.has('Flippers', player)) + set_rule(world.get_entrance('Lake Hylia Water D Entry', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Ice Cave SW', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Octoballoon Water Drop', player), lambda state: state.has('Flippers', player)) set_rule(world.get_entrance('Octoballoon Waterfall Water Drop', player), lambda state: state.has('Flippers', player)) diff --git a/data/base2current.bps b/data/base2current.bps index 138034ba6448e44a08823633503bfcbaeb7f9a05..efdb59ccceb0b7caa41af37d383dd6b05c25e98b 100644 GIT binary patch delta 2748 zcmWkvX;@R&7QN?&kc2S|l>j1_%OnaK3W5klo`|5Lf@mE+XwhoH7ZJx+Md99PtU;3y zw{XQ20l5(Z#pst>9I6P^O0Yl>1qJGW&!N@UC^&$&yzt|!v(LBIkF(de*ExN4+>f=~ zqCn?&&*-bqXf}pYq%WWxC;uWHr7l$> z5llv2Ru>xPCBb|&9Up6j-DnQdz-8pkJKfJtE|edHM<@jUu??K@T>Qih*oQ}<{cstd zh(EXq{rD2Rs}+JdB=UwOoE<0(u5lI$xkmPdjLaU3rL3fKvi=4TR`2ll{ou~6!5jMx zE!=GgWk4jaM|iWJo%jzKC8GP%cRxP(K>uV9zz%7Y-;B-lz`J&oxr|gXR;r0s2L)OV088 z(?rl4y%T>pU`UOr;kbTmXH}-+O(q^0-2sQyxt3zL!7gqC*Q@>pt3!%Ea6QmsGnc&B z&PrIjnG!;Dlw^&DBMBD}Ue;Q*D3LRxB-(zTOp*lC86&1cDlDZyn_+Y{yX&y=8s>q# z^lHAUOj|}dki5EzY)R6k*nRNbf-p{a>K()71ur8#1PyrL4$2gLTSwSNyKg zuxDKw2W5gO%hi2r8!OR;$y%A1cDb!y!mLc)U#jCt$gPHdvc45rW@QKU720OFOGP5& zXK<3n_#=&BarF!2KHA1=JF^VcbaN`UdVU96}>vk8?8I87wV4!n;!bA^BAwwt0s)O`N zkTSPrgJQ@Fr_OroAG9AZ-azp4&i-`*){WQ7ZD6i-M(?I{!h!S%r07^XoH}oisq~8 zHK9A6SBrN%KN7f8okK4=Wo#sxS>aTp*<|&^iApfOGI5FEYgD-LwWaU|zgv-3UB3_q z;LBU{Ts>Oagu^H1ZNIpKGNlx>wF%!_6c=tq;5lRP`qr`7{81WLNoisE@;Ry|-3J98 zulrTOiPy0Tt9ad7U+RQ9vzgGgGG0sD&rSM;6>Zp``CNrNVOk@jsE>u#+r^v!-+PeR zL*myP^g3>m#s5pHb{g?EPV zH3Ssg^`4O#rldodT!$iU{BXWWpbr_&pT$gYEPB}J-GZn@@-sQ6m(t=O+)UIvAY-1% zUE@Cyy6;9id=pW0ZQ*dfhspw^2qyLg2PI}HAAX0KTqm!t@FOp^SLiWnvWY{~7 za&=OcQYGb563ZF3^o6*fb;=fl*63%lUR^V;(M+*{vwfb{xd}>UK?2YtCz8vXpA?q&|J1hPMJH_IpIcr7D}8n|<`P!}%NdSP@4zHm0g&7S1dJkJzGm z*Jd9r7Bq(CTIlM(A#ICFrrK2Humv{uM|g^iNz8hGB@;VM$*frRN144odc2ot#(6PZ z?hmpT8JS(Pib|$0tiPKqf}#Ehm(4C}ZNPB8C^s^tAjlC8KtTw^3>@Hpy|9S>0^B}@ zwgG=@zfY-DY8kv4IGP%{iAUW|Z#Q!fEv(b=%2FJO-VXBV@Fc>mvpgp3uktjv`|5Wx zzOLiSrm1FF9NmA)N!&ueubS&#cC9TA!^gvBcF@OCVk6gV&G<$@-|v*DqqAnen7C@e zP)T2*Xaj-OR$zpw6Sm$9x4qgaT0bZoln@=AaQ0pz3V@M&1p%sVwmujc`DQ1*hg59h z>+4bqjQ?74T+?+LCmy7Qm^sOByWqtA41BE^{<&Yc@~k2lCDUEH56!~wu{jza(uq3v z{`)we`ZyocdmXL7<}fQKIZ;h4QQ|RD^)4UP`IC#?2;vNyw72 zDj`Odr2Q*v7GB>T3ilo?Bm4y_9cF2)+G3*>W-bYxeX>$pA<^ShpecZ{4C~T|CbSrQ z2Xl}=s0a7r?cE@Jw2VmTc@c)pLptpFcmrm8@KlFVyqPa+Qwpdd!Xn!LXs&3HSU~A8 z3KgobWd%xG#H{ocQ1Ho4c<_kuoSRove}DEJvDv!Og4B>^)8Q^vFv60^4DkHlKFwlgb~v9JskO1$fR!km<5yP@*dWn3)C>6IlOiJYw}v+_ugV+A zyc-f19@QXr=1~mK4Ss$s!Z%Kbp2s2h3J(MKi3z#I;zh+TD<)$4ZV+57o@E@v&dg@A zrofA*9{8;Fz<)L^*lk4-J(>AtB?VJBDtgs*DV=Ru8w}DTjvEhy%PO^c@9H1!;Luk! zZ8@xcwnw-v;Uk^>?al)pt6znA$=Br?{(hEdW3wv$pxlx4((Lju%pO{ctTUD!)a0c? z_3#g#TU~9a;~vwF(W^?nB4w4BDMdeO4m2-dT*QV=Z!v7jZBRd^7CMg z>}a;cs5ied`kDV4Eq9ppQl33a!t9>V@WcxBaqM=^P^yzCuOLUpVPnH@eDvDhF3?Tw zvZHu~vpR==u%T@N67e}f)~_0#OhUV?t=;WvU+$UIu-+f#i1}$TBjp_<*rNXf;RVZP delta 2891 zcmX9;X;>5I7M__TBqRh9L5v_01`$w{gjJRzB9ukAqHq-u>e>p8imlex4Q8UKK_-*< z2_r@XWLN^F(I>UEZeh{l#BJOV5z%73+G?*+u~*SYZn*cy_nvdU_xm@XqlK%z_s}IXns^qN$G4?$Cd(*hQc{AX21)H-HAwBKS0TBT7b`?t?g| zmEN0g()s%dbhmZf3W31D2_!b+_{`(gs8CO%>%ciDFC@GZ+;{S`zn>!xm$>HX$f$-v zQq-{-Gpvi!g9T#ExHo-bKllasAWnwA0Ex~^5N;z<1zrYB@G%QW#L{rP-pM8R+8ts&JuLn z;kp{k8RfUt6{=EB2h4j0D$+tZ4)brByVGKM;uTkDOo-Onk&6zQMVXu3kXWl3Uz5d| z-D9QO&vUQ&U<#WdIBd@ehHvvkZ(C`VF|_O=6?;V^GO4JXMZ2qwd=+}zj1+z=vro-7 zY&G0x9>OAFc(2)A9qR{wG-owGhh+tq=tfVQe{DKUJSwl*fGf(f-A zl#1F@5+kwt{N57Gxm#{jf->BLtT^C{5f6cw^;E8p z!0=E&;ojPdri2Kr{FGr2zN%The+D+Ldps;Rt;H2ACq4YENj6d<_q2dqHX~sE0-^@Z zx6pRF7{rv}Xsz>NqU@p01iNbuTPAApFKQid;3orD+0fvd7TV@sPD$h5{}LDvu{`6t zKul;{9*FTM_oYG%Pv}m<%S={kUJO>rNw)ySb@>F#Ig86jap2es^3&cDiGbNF%ZYw+nLFFncHFM~f;x2k`7v0oFH+R!#yXl|&k7#^rX)3e)q)Ps4 z&zg&C81z~<&5FQ!yb_XZv`XH!dXmP7^NoK8N^Bgt`U16e&WY=C60EuD8=p7*Ne$QL z+Q`U?9D5pY0oiW&cFVKoEnA))@c&M~9?xiEEW5gC$xOz^a{nd8l9-n)PflLI!kAa~ zL=AdxMsmY0$o~Mytxw%{_E;q&M?c+s>KlyBEVWuCZ|#cwTM?X47y}1y9db+jfFq)A!~)^vA&rwlI{$G`d=gdDDb)K z9X>r=i_fCMCA!A>BPFb(Y1T+dG?g#W{bup*fw5%t6Affi1Cf{_vr(hlf$aPDqUptwl;+g^xu3&^XRhMvAsXM(T*mLnHgw_$KVvvZM_ zRP!*Ey#}rWv%-=;*Y=njnQ5#;Udy<~uu(+nxoF3&x>`NqVp{*2+<@V!q?$+_DJe9B zCu=E5GT1zz@K{)+#iJ>;zEFj({MmpMY4zSI115h%Mh-YP;1S`FrR|!~?PF>kDJc>_ zI*xH{jBKT((K@hVuCCp!+our<9D|DObo0N#=pojo1`3-eC-tvk)x57bxD&P;+B-Rly6|@1}1DmG>fCBPQw_r;n7#iX$^i16{x# zkQ5At?(Go-W$5tFKtU*2H|Xc^Whk}?>j2c?!9_cZ`Pl9JD>mN#1#L!tO{R-H`WpIV zWU74Iwc6OwziQ`YJizlz9@3*nOJ>@DaQT@gsiFse+aUC;xnPZlknv5lIh*1z1;evB zP(_ho$9+tuWLtJCULOBp?LTJ}6(RO=_(F z{krjex8w+vU|8!b#ZJCG67SO<@58<|;slgHO_fWruJ}fY{Uc9hoNY;rBO5#{F_cC+ zV$F*&J&)PQ3aY*esA-TuSXI`?vTjLlbSS_dX3JGV(g@l6YPP$`g=|&IxyR}o>r^HL z^Jk}1_6dITkcCfxUw>N?qfTY%t^*LdOoC^5@5#1S(>7+g+5*`-<$ zOilH3#K5wxx|dwb*c}CF%q+Fc?N=~Tn-k-16EMCyUncmt_n2^}uKj_XusMv=*lWXv zitA($45gr*;M}9LGt&BLn}b#IpK|P?5hHwjx)l^JLV&$%6$*=>Dq_O?ygE5FEVnG_ z2aUfUlYJ3#x#P`?PK^cKen~lzk9BNuvLqe2b>*HC7*A#QhV-}vo?1E?)I7}&@q@!VcDUT8l>X7vG= zbrm2tPp{vZ_kBMC1{yXm0lcR>BvHv9@WOAu+vAb<(%(Zf<14fNX|ho0ny^pff_fR| zPB9O^S_L~y%Gzg`mj%*BzW1EtF2oLd%szzYR;@LE7MG-~s=rBS&`v-FLYgGkSS z`nPU@S&14$6NpRDR6{W9Z;E@}7E3)4FVhe%M&7jAgQSUQ@?>XI^Dcs+w^cIt9atCL zTXI%mld}}r)LYWF;^P=4jx<-i`x~BoiJ=E5vE_s)t<`eezGJm^7%j%;p}_Fo7b#e3 z?tHHiAbcyefD2Fa;9Kd@LKS1Oy=11@{u-^#j(MRej8;)$6FW3qc!1*+7pc{!U|xYP zRLYkf#RB-1*vZpPpRuWO^+bL8rpk`>?yyY2^>>hB9s8!jTOAy-gsm?kygK-P@Op*d MOwA2R!G2HbzdTv|EC2ui