From 1cbee3f1906537fff286797c37bced033cf038db Mon Sep 17 00:00:00 2001 From: codemann8 Date: Thu, 15 Jun 2023 12:42:33 -0500 Subject: [PATCH] Minor logic and terrain GFX changes to Spiral/Mimic Ledge in Inverted - Also updated GFX routine to handle and correct GFX issues when exceeding the max number of GFX --- OWEdges.py | 1 - OverworldShuffle.py | 3 +-- Regions.py | 2 +- Rom.py | 2 +- data/base2current.bps | Bin 107444 -> 107570 bytes 5 files changed, 3 insertions(+), 5 deletions(-) diff --git a/OWEdges.py b/OWEdges.py index 6c9eb89c..2657c682 100644 --- a/OWEdges.py +++ b/OWEdges.py @@ -1454,7 +1454,6 @@ OWExitTypes = { 'EDM To Mimic Ledge Drop', 'EDM Ledge Drop', 'Spiral Ledge Drop', - 'Mimic Ledge Drop', 'Spiral Mimic Ledge Drop', 'Fairy Ascension Ledge Drop', 'Fairy Ascension Plateau Ledge Drop', diff --git a/OverworldShuffle.py b/OverworldShuffle.py index de997bfe..a0b7a5e2 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -1270,7 +1270,6 @@ mandatory_connections = [ ('DM Hammer Bridge (West)', 'East Death Mountain (Top East)'), #hammer ('DM Hammer Bridge (East)', 'East Death Mountain (Top West)'), #hammer ('EDM To Spiral Ledge Drop', 'Spiral Cave Ledge'), - ('EDM To Fairy Ledge Drop', 'Fairy Ascension Ledge'), ('EDM Ledge Drop', 'East Death Mountain (Bottom)'), ('Spiral Ledge Drop', 'East Death Mountain (Bottom)'), ('Fairy Ascension Ledge Drop', 'Fairy Ascension Plateau'), @@ -1480,12 +1479,12 @@ ow_connections = { ('Dark Death Mountain Teleporter (West)', 'West Death Mountain (Bottom)') ]), 0x05: ([ + ('EDM To Fairy Ledge Drop', 'Fairy Ascension Ledge'), ('East Death Mountain Teleporter', 'East Dark Death Mountain (Bottom)') ], [ ('Floating Island Bridge (West)', 'East Death Mountain (Top East)'), ('Floating Island Bridge (East)', 'Death Mountain Floating Island'), ('EDM To Mimic Ledge Drop', 'Mimic Cave Ledge'), - ('Mimic Ledge Drop', 'East Death Mountain (Bottom)'), ('Spiral Mimic Bridge (West)', 'Spiral Mimic Ledge Extend'), ('Spiral Mimic Bridge (East)', 'Spiral Mimic Ledge Extend'), ('Spiral Ledge Approach', 'Spiral Cave Ledge'), diff --git a/Regions.py b/Regions.py index 461f6db6..7dd3617a 100644 --- a/Regions.py +++ b/Regions.py @@ -25,7 +25,7 @@ def create_regions(world, player): 'EDM To Spiral Ledge Drop', 'EDM To Fairy Ledge Drop', 'EDM To Mimic Ledge Drop', 'EDM Ledge Drop', 'East Death Mountain EN']), create_lw_region(player, 'Death Mountain Floating Island', ['Floating Island'], ['Floating Island Bridge (West)']), create_lw_region(player, 'Spiral Cave Ledge', None, ['Spiral Cave', 'Spiral Ledge Drop', 'Spiral Mimic Bridge (West)']), - create_lw_region(player, 'Mimic Cave Ledge', None, ['Mimic Cave', 'Mimic Ledge Drop', 'Spiral Mimic Bridge (East)']), + create_lw_region(player, 'Mimic Cave Ledge', None, ['Mimic Cave', 'Spiral Mimic Bridge (East)']), create_lw_region(player, 'Spiral Mimic Ledge Extend', None, ['Spiral Ledge Approach', 'Mimic Ledge Approach', 'Spiral Mimic Ledge Drop']), create_lw_region(player, 'Fairy Ascension Ledge', None, ['Fairy Ascension Cave (Top)', 'Fairy Ascension Ledge Drop']), create_lw_region(player, 'Fairy Ascension Plateau', None, ['Fairy Ascension Cave (Bottom)', 'Fairy Ascension Rocks (Inner)', 'Fairy Ascension Plateau Ledge Drop']), diff --git a/Rom.py b/Rom.py index 06ccb949..ac6eedba 100644 --- a/Rom.py +++ b/Rom.py @@ -38,7 +38,7 @@ from source.dungeon.RoomList import Room0127 JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '37055215524a94f346e892b7a716c2ef' +RANDOMIZERBASEHASH = '5dc49b073decbc3b66635157ddedf05c' class JsonRom(object): diff --git a/data/base2current.bps b/data/base2current.bps index c4404bdc41bd150472e3a0742ff83513fae79525..759979e87036f3068494d6debb7ef9d57c6bb626 100644 GIT binary patch delta 11251 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%0D8>D|1pe{7{izb8J~bJT6}tE4F(6@+jx^|n zddp9tpZ@nx;kfQ)M;b8VH0TeU#X81*su1-;v<$Ibu|VSC-(rzeX|3n+=xP0QR6lga zgTYSspmC_}bu9363O&Hk;*O|(rc{Ni`_Jmq0@=Vg;2pFdXi@$njiXxiyy|&XHY-l6 zsh&HvQYqr4)^0e@?oGXivuT=~D0XKYkbn{PcpM0py{1ww$f@i2euD2`@%`fkEj5Jc z5ACtAdhWP0>@*5F?stdQFcqg^kkd%0(>v2B!vd)BrA})M=@h$hyAAA-!t~)mv!?{*W2|xzJW)Lb8pJ zeg!^nYu}c7kCi2W5dNa=kUfvx_db5-4u?7n$m9>I@eFU-R@OfF!Ds4*X(ar~Ig7CCrBNqZ+aFAWS5ZrdG7D