From c298b392d003e778d5c56d17bd54b5687dc6370b Mon Sep 17 00:00:00 2001 From: aerinon Date: Wed, 7 Sep 2022 16:53:52 -0600 Subject: [PATCH 1/4] Fix for rain prevented doors fouling up key doors --- Main.py | 2 +- RELEASENOTES.md | 3 +++ Rom.py | 2 +- data/base2current.bps | Bin 93186 -> 93219 bytes 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Main.py b/Main.py index d47fbc46..2f7350c5 100644 --- a/Main.py +++ b/Main.py @@ -31,7 +31,7 @@ from Utils import output_path, parse_player_names from source.item.FillUtil import create_item_pool_config, massage_item_pool, district_item_pool_config from source.tools.BPS import create_bps_from_data -__version__ = '1.0.1.2-u' +__version__ = '1.0.1.3-u' from source.classes.BabelFish import BabelFish diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1e059997..dcb80a60 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -183,6 +183,9 @@ Same as above but both small keys and bigs keys of the dungeon are not allowed o #### Unstable +* 1.0.1.3 + * Fix for rain prevented doors fouling up key doors + * Couple minor issues * 1.0.1.2 * Removed "good bee" as an in-logic way of killing Mothula * Fixed an issue with Mystery generation and Windows path diff --git a/Rom.py b/Rom.py index 4af847ad..b76cfef8 100644 --- a/Rom.py +++ b/Rom.py @@ -37,7 +37,7 @@ from source.dungeon.RoomList import Room0127 JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '0f96237c73cccaf7a250343fe3e8c887' +RANDOMIZERBASEHASH = 'fc4d4a01f8c4e00280ea5640297f8e9c' class JsonRom(object): diff --git a/data/base2current.bps b/data/base2current.bps index 55525ee50a0d8f30527d68ac4de47956a9acb906..25cc58b2c300e723aaa269298be9cd15e9323ea3 100644 GIT binary patch delta 1046 zcmW-dZ%i9?7{~9q{)HB?Q?WC(W!#2$Kb7H74*vL*`B8QaBU$F0f9mO*C*SYq`+T1l zk9SQqv8KA#2>K-_sZ$X^lrVRC6UU)K0fh;l@(WUn`Uh>pe!C&@f+iDSdZJOQgr3Ap z`l}kapCHZ0E1)Cc+S^e`YD0N>UnCr9A|>b5?wFSF#4q3@UBXsH^q=(R=7J>IQ|Yu+v=mv{+CU2rCHoSwq6>DP z<*qLxca>)m(QEE}Pm~yK?BQZ$%pjAL4OaAHo}Rz<(TWY^Y2850r~bC2)RJzV$dc4< z_k*iGk37Hjd2Xa74O$CCNLqnPg;ZL~A3aJ1{*bW>b@MX3&Le`Wa^<`JN78@jL|~!D znnyF>pB&uHqg}$-u&7`o=hQd5aYr_6)Ae!a33kjflQ7O=J{v53*4ghba-ssA`M`xP zaUwz=bB;O!ZE=EyW^8^hg9PvVqEpn$k6;OxBMnu*61Z#j;)%m_P`P_}OInhXNs&OO z1(p;wvXRx4sB%!mn$K+GW zQ2YSxbm%eB&&G)F%?vxU zThw88(OEcTIK|)&L(-88^%;tW+8O+=70MKCbu-B^D`W#%b_B<_!#?UP;p5#ko=7Ba edWH)(CDYr11gK4t#qg+J`>plp;cFAeKKT~_?x1@B delta 1033 zcmW-de@q*77{>3t_Sym+*V4j@VE3i`Xd5(wie+0EE^3U`ty8n9IJYL72o{hyBVY*J zmEA(AU4LB47url(*hM*|xYiUt5uVl00=EYd%{whlUC7KtB47Gq- z>Rk(nx!z)MjT4bO2{NIPc*O)6^_Z*opL?=Z#f~bzH_yz; ztxP6IkaK`+1I#8tKGu6Ij1C9TW87Htx5;;>PizDXQh-;-@k~Bw3@y`_j|2o6I&#d3 z+yMch&jZ%y3G@rTnGeS2cFr6>>|loF4dMIZqV$eQfk1nCjuey1hrrCjDDW-S23P5JQGsgJZ+b*VXisn z2|~2^FRm~&bwW{IU!#usCkf~*^;chLwZE3>nv$(O{ z!v=6Oi+eq6{e(Nd?Lr@8GZhbxM?0OKsIAQtHQ{wFm`Fz)mli;?wt2)qj!o^%cPB6O z&DDsg8S@1YDllSR;}(=eM)sN!C$yHSTx`<;Lc?LRq5o{yJehWi=Fu06mX{L`Dx^Bm zWfS8nv=evfpt7jSqGzJJ23R`!W_~0nDp2>xS05JOvpQ(3-aj1O%J`(cckv*r#%*pc zQI`6^?foKnyU16uc_LoUgnSCLj?-V`GCdT+ZEVwnvA79aK6~i8nuZbcDO5Wm$ss%c zgqwdEcj&Yf3NjZh`C_YI`xjgSvyrvqoUz)t!l!V_%S=8DCpbWaDOrW8Uz0#K>) RGFZ2(mZ`;_)b2~~{0GNjp9KH_ From 4ce85a9f2db4722c14882945e56f2af5cdde0505 Mon Sep 17 00:00:00 2001 From: aerinon Date: Wed, 7 Sep 2022 16:49:47 -0600 Subject: [PATCH 2/4] Couple minor issues - let a door not be dead in higher intensity, slightly better reporting --- Doors.py | 7 ++++++- ItemList.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Doors.py b/Doors.py index 26d474cc..a7c1d9f3 100644 --- a/Doors.py +++ b/Doors.py @@ -435,7 +435,7 @@ def create_doors(world, player): create_door(player, 'PoD Dark Basement W Up Stairs', Sprl).dir(Up, 0x6a, 0, HTH).ss(S, 0x1b, 0x3c, True), create_door(player, 'PoD Dark Basement E Up Stairs', Sprl).dir(Up, 0x6a, 1, HTH).ss(S, 0x1b, 0x9c, True), create_door(player, 'PoD Dark Alley NE', Nrml).dir(No, 0x6a, Right, High).big_key().pos(0), - create_door(player, 'PoD Mimics 2 SW', Nrml).dir(So, 0x1b, Left, High).pos(1).kill().portal(Z, 0x00), + create_door(player, 'PoD Mimics 2 SW', Nrml).dir(So, 0x1b, Left, High).pos(1).portal(Z, 0x00), create_door(player, 'PoD Mimics 2 NW', Intr).dir(No, 0x1b, Left, High).pos(0), create_door(player, 'PoD Bow Statue SW', Intr).dir(So, 0x1b, Left, High).pos(0), create_door(player, 'PoD Bow Statue Left to Right Barrier - Orange', Lgcl), @@ -1467,6 +1467,11 @@ def create_doors(world, player): world.get_door('GT Spike Crystal Right to Left Barrier - Orange', player).barrier(CrystalBarrier.Orange) world.get_door('GT Spike Crystal Left to Right Bypass', player).barrier(CrystalBarrier.Blue) + # kill certain doors + if world.intensity[player] == 1: # due to ladder & warp being fixed + world.get_door('PoD Mimics 2 SW', player).kill() + + # nifty dynamic logical doors: south_controller = world.get_door('Ice Cross Bottom SE', player) east_controller = world.get_door('Ice Cross Right ES', player) diff --git a/ItemList.py b/ItemList.py index 9dd69157..279fec61 100644 --- a/ItemList.py +++ b/ItemList.py @@ -514,7 +514,7 @@ def fill_prizes(world, attempts=15): continue break else: - raise FillError('Unable to place dungeon prizes') + raise FillError(f'Unable to place dungeon prizes {", ".join(list(map(lambda d: d.hint_text, prize_locs)))}') def set_up_shops(world, player): From 1e4b857dabead4e1e6d29574a7d19d373c29b64f Mon Sep 17 00:00:00 2001 From: aerinon Date: Wed, 7 Sep 2022 16:55:46 -0600 Subject: [PATCH 3/4] Update default setting to vanilla --- CLI.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CLI.py b/CLI.py index ba5090ec..e212c935 100644 --- a/CLI.py +++ b/CLI.py @@ -174,12 +174,12 @@ def parse_settings(): "keyshuffle": False, "bigkeyshuffle": False, "keysanity": False, - "door_shuffle": "basic", - "intensity": 2, - "experimental": False, - "dungeon_counters": "default", - "mixed_travel": "prevent", - "standardize_palettes": "standardize", + 'door_shuffle': 'vanilla', + 'intensity': 2, + 'experimental': False, + 'dungeon_counters': 'default', + 'mixed_travel': 'prevent', + 'standardize_palettes': 'standardize', "triforce_pool": 0, "triforce_goal": 0, From 3227ffee1439390671917631b38cfde1674f7915 Mon Sep 17 00:00:00 2001 From: aerinon Date: Wed, 7 Sep 2022 21:30:57 -0600 Subject: [PATCH 4/4] Missed a change --- KeyDoorShuffle.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeyDoorShuffle.py b/KeyDoorShuffle.py index ad06f3fc..b600f814 100644 --- a/KeyDoorShuffle.py +++ b/KeyDoorShuffle.py @@ -158,7 +158,7 @@ class PlacementRule(object): left -= rule_needed return False - def is_satisfiable(self, outside_keys, unplaced_keys, big_key_loc, prize_location, cr_count): + def is_satisfiable(self, outside_keys, wild_keys, unplaced_keys, big_key_loc, prize_location, cr_count): if self.prize_relevance and prize_location: if self.prize_relevance == 'BigBomb': if prize_location.item.name not in ['Crystal 5', 'Crystal 6']: