From 04d7f76ac48076d7cccde5c54b64d11a879ed91d Mon Sep 17 00:00:00 2001 From: CovenEsme <84377742+CovenEsme@users.noreply.github.com> Date: Mon, 22 Jul 2024 17:32:42 +0100 Subject: [PATCH 1/3] Unlink FW and FFW bird statues --- data/world/Faron.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/data/world/Faron.yaml b/data/world/Faron.yaml index 187ae225..9cccef55 100644 --- a/data/world/Faron.yaml +++ b/data/world/Faron.yaml @@ -340,13 +340,15 @@ - name: Flooded Faron Woods hint_region: Flooded Faron Woods events: - Unlock In the Woods Statue: Water_Dragons_Scale - Unlock Viewing Platform Statue: Water_Dragons_Scale - Unlock Faron Woods Entry Statue: Water_Dragons_Scale - Unlock The Great Tree Statue: Clawshots or Water_Dragons_Scale Retrieve Oolo: Scrapper and 'Start_Owlans_Quest' Can Watch Completed Tadtones Cutscene: Nothing Can Collect Water: Bottle + # Leads to some obscure logic when paired with the Groosenator + # + # Unlock In the Woods Statue: Water_Dragons_Scale + # Unlock Viewing Platform Statue: Water_Dragons_Scale + # Unlock Faron Woods Entry Statue: Water_Dragons_Scale + # Unlock The Great Tree Statue: Clawshots or Water_Dragons_Scale exits: Sealed Grounds: Nothing # Talk to Bucha Flooded Great Tree Upper: Clawshots From c0a45fcdb320bf9352a14129865dd6166d2dea22 Mon Sep 17 00:00:00 2001 From: CovenEsme <84377742+CovenEsme@users.noreply.github.com> Date: Wed, 24 Jul 2024 10:40:24 +0100 Subject: [PATCH 2/3] Add trick setting for Faron Woods with Groosentor logic --- data/settings_list.yaml | 10 +++++++++ data/world/Faron.yaml | 8 +++---- gui/ui/main.ui | 23 ++++++++++++++------- gui/ui/ui_main.py | 46 +++++++++++++++++++++++------------------ 4 files changed, 55 insertions(+), 32 deletions(-) diff --git a/data/settings_list.yaml b/data/settings_list.yaml index 0f7e26b9..7e66d294 100644 --- a/data/settings_list.yaml +++ b/data/settings_list.yaml @@ -1437,6 +1437,16 @@ - "off": "You will only be expected to use the Slingshot, Bow, Clawshots, or a Beetle to activate distant switches and you will only be expected to use nearby bomb flowers with the Hook Beetle to blow up distant rocks." - "on": "You may need to use the Bomb Bag and time bomb throws to activate switches or blow up distant rocks or towers." +- name: logic_faron_woods_with_groosenator + default_option: "off" + pretty_name: Faron Woods with Groosenator + pretty_options: + - "Off" + - "On" + options: + - "off": "You will never be expected to use the Groosenator to access Faron Woods by unlocking bird statues in Flooded Faron Woods." + - "on": "You may need to use the Groosenator to unlock the bird statues in Flooded Faron Woods to land at those bird statues in normal Faron Woods." + - name: logic_itemless_first_timeshift_stone default_option: "off" pretty_name: Itemless First Timeshift Stone diff --git a/data/world/Faron.yaml b/data/world/Faron.yaml index 9cccef55..5fa91e68 100644 --- a/data/world/Faron.yaml +++ b/data/world/Faron.yaml @@ -345,10 +345,10 @@ Can Collect Water: Bottle # Leads to some obscure logic when paired with the Groosenator # - # Unlock In the Woods Statue: Water_Dragons_Scale - # Unlock Viewing Platform Statue: Water_Dragons_Scale - # Unlock Faron Woods Entry Statue: Water_Dragons_Scale - # Unlock The Great Tree Statue: Clawshots or Water_Dragons_Scale + Unlock In the Woods Statue: logic_faron_woods_with_groosenator and Water_Dragons_Scale + Unlock Viewing Platform Statue: logic_faron_woods_with_groosenator and Water_Dragons_Scale + Unlock Faron Woods Entry Statue: logic_faron_woods_with_groosenator and Water_Dragons_Scale + Unlock The Great Tree Statue: logic_faron_woods_with_groosenator and (Clawshots or Water_Dragons_Scale) exits: Sealed Grounds: Nothing # Talk to Bucha Flooded Great Tree Upper: Clawshots diff --git a/gui/ui/main.ui b/gui/ui/main.ui index db230ab3..baf23fbd 100644 --- a/gui/ui/main.ui +++ b/gui/ui/main.ui @@ -36,7 +36,7 @@ QTabWidget::TabShape::Rounded - 9 + 6 @@ -2936,6 +2936,20 @@ Miscellaneous + + + + Faron Woods with Groosenator + + + + + + + Itemless First Timeshift Stone + + + @@ -2994,13 +3008,6 @@ Practice Sword - - - - Itemless First Timeshift Stone - - - diff --git a/gui/ui/ui_main.py b/gui/ui/ui_main.py index 17165bbe..3ccaf56d 100644 --- a/gui/ui/ui_main.py +++ b/gui/ui/ui_main.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'main.ui' ## -## Created by: Qt User Interface Compiler version 6.7.1 +## Created by: Qt User Interface Compiler version 6.6.2 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ @@ -825,8 +825,8 @@ def setupUi(self, main_window): self.line = QFrame(self.open_dungeons_group_box) self.line.setObjectName(u"line") - self.line.setFrameShape(QFrame.Shape.HLine) - self.line.setFrameShadow(QFrame.Shadow.Sunken) + self.line.setFrameShape(QFrame.HLine) + self.line.setFrameShadow(QFrame.Sunken) self.verticalLayout_25.addWidget(self.line) @@ -1034,8 +1034,8 @@ def setupUi(self, main_window): self.mixed_entrance_pools_hline = QFrame(self.mixed_entrance_pools_group_box) self.mixed_entrance_pools_hline.setObjectName(u"mixed_entrance_pools_hline") - self.mixed_entrance_pools_hline.setFrameShape(QFrame.Shape.HLine) - self.mixed_entrance_pools_hline.setFrameShadow(QFrame.Shadow.Sunken) + self.mixed_entrance_pools_hline.setFrameShape(QFrame.HLine) + self.mixed_entrance_pools_hline.setFrameShadow(QFrame.Sunken) self.verticalLayout_28.addWidget(self.mixed_entrance_pools_hline) @@ -1937,6 +1937,16 @@ def setupUi(self, main_window): self.miscellaneous_group_box.setSizePolicy(sizePolicy) self.verticalLayout_22 = QVBoxLayout(self.miscellaneous_group_box) self.verticalLayout_22.setObjectName(u"verticalLayout_22") + self.setting_logic_faron_woods_with_groosenator = RandoTriStateCheckBox(self.miscellaneous_group_box) + self.setting_logic_faron_woods_with_groosenator.setObjectName(u"setting_logic_faron_woods_with_groosenator") + + self.verticalLayout_22.addWidget(self.setting_logic_faron_woods_with_groosenator) + + self.setting_logic_itemless_first_timeshift_stone = RandoTriStateCheckBox(self.miscellaneous_group_box) + self.setting_logic_itemless_first_timeshift_stone.setObjectName(u"setting_logic_itemless_first_timeshift_stone") + + self.verticalLayout_22.addWidget(self.setting_logic_itemless_first_timeshift_stone) + self.setting_logic_fire_node_without_hook_beetle = RandoTriStateCheckBox(self.miscellaneous_group_box) self.setting_logic_fire_node_without_hook_beetle.setObjectName(u"setting_logic_fire_node_without_hook_beetle") @@ -1977,11 +1987,6 @@ def setupUi(self, main_window): self.verticalLayout_22.addWidget(self.setting_logic_fs_practice_sword_ghirahim_2) - self.setting_logic_itemless_first_timeshift_stone = RandoTriStateCheckBox(self.miscellaneous_group_box) - self.setting_logic_itemless_first_timeshift_stone.setObjectName(u"setting_logic_itemless_first_timeshift_stone") - - self.verticalLayout_22.addWidget(self.setting_logic_itemless_first_timeshift_stone) - self.miscellaneous_vspacer = QSpacerItem(20, 237, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) self.verticalLayout_22.addItem(self.miscellaneous_vspacer) @@ -2073,8 +2078,8 @@ def setupUi(self, main_window): self.player_cosmetics_hline = QFrame(self.player_cosmetics_group_box) self.player_cosmetics_hline.setObjectName(u"player_cosmetics_hline") - self.player_cosmetics_hline.setFrameShape(QFrame.Shape.HLine) - self.player_cosmetics_hline.setFrameShadow(QFrame.Shadow.Sunken) + self.player_cosmetics_hline.setFrameShape(QFrame.HLine) + self.player_cosmetics_hline.setFrameShadow(QFrame.Sunken) self.verticalLayout_37.addWidget(self.player_cosmetics_hline) @@ -2165,8 +2170,8 @@ def setupUi(self, main_window): self.utils_hline = QFrame(self.file_setup_group_box) self.utils_hline.setObjectName(u"utils_hline") - self.utils_hline.setFrameShape(QFrame.Shape.HLine) - self.utils_hline.setFrameShadow(QFrame.Shadow.Sunken) + self.utils_hline.setFrameShape(QFrame.HLine) + self.utils_hline.setFrameShadow(QFrame.Sunken) self.verticalLayout_31.addWidget(self.utils_hline) @@ -2192,8 +2197,8 @@ def setupUi(self, main_window): self.utils_hline_2 = QFrame(self.file_setup_group_box) self.utils_hline_2.setObjectName(u"utils_hline_2") - self.utils_hline_2.setFrameShape(QFrame.Shape.HLine) - self.utils_hline_2.setFrameShadow(QFrame.Shadow.Sunken) + self.utils_hline_2.setFrameShape(QFrame.HLine) + self.utils_hline_2.setFrameShadow(QFrame.Sunken) self.verticalLayout_31.addWidget(self.utils_hline_2) @@ -2227,8 +2232,8 @@ def setupUi(self, main_window): self.utils_hline_3 = QFrame(self.file_setup_group_box) self.utils_hline_3.setObjectName(u"utils_hline_3") - self.utils_hline_3.setFrameShape(QFrame.Shape.HLine) - self.utils_hline_3.setFrameShadow(QFrame.Shadow.Sunken) + self.utils_hline_3.setFrameShape(QFrame.HLine) + self.utils_hline_3.setFrameShadow(QFrame.Sunken) self.verticalLayout_31.addWidget(self.utils_hline_3) @@ -2801,7 +2806,7 @@ def setupUi(self, main_window): self.retranslateUi(main_window) - self.tab_widget.setCurrentIndex(9) + self.tab_widget.setCurrentIndex(6) QMetaObject.connectSlotsByName(main_window) @@ -3030,6 +3035,8 @@ def retranslateUi(self, main_window): self.setting_logic_brakeslide.setText(QCoreApplication.translate("main_window", u"Brakesliding", None)) self.setting_logic_tot_skip_brakeslide.setText(QCoreApplication.translate("main_window", u"Temple of Time Skip Brakeslide", None)) self.miscellaneous_group_box.setTitle(QCoreApplication.translate("main_window", u"Miscellaneous", None)) + self.setting_logic_faron_woods_with_groosenator.setText(QCoreApplication.translate("main_window", u"Faron Woods with Groosenator", None)) + self.setting_logic_itemless_first_timeshift_stone.setText(QCoreApplication.translate("main_window", u"Itemless First Timeshift Stone", None)) self.setting_logic_fire_node_without_hook_beetle.setText(QCoreApplication.translate("main_window", u"Fire Node without Hook Beetle", None)) self.setting_logic_skyview_spider_roll.setText(QCoreApplication.translate("main_window", u"Skyview Temple Spider Roll", None)) self.setting_logic_et_keese_skyward_strike.setText(QCoreApplication.translate("main_window", u"Earth Temple Keese Skyward Strike", None)) @@ -3040,7 +3047,6 @@ def retranslateUi(self, main_window): self.setting_logic_sandship_no_combination_hint.setText(QCoreApplication.translate("main_window", u"Sandship No Combination Hint", None)) self.setting_logic_fs_practice_sword_ghirahim_2.setText(QCoreApplication.translate("main_window", u"Fire Sanctuary Ghirahim 2 with\n" "Practice Sword", None)) - self.setting_logic_itemless_first_timeshift_stone.setText(QCoreApplication.translate("main_window", u"Itemless First Timeshift Stone", None)) self.tab_widget.setTabText(self.tab_widget.indexOf(self.logic_tab), QCoreApplication.translate("main_window", u"Logic and Tricks", None)) self.environment_cosmetics_group_box.setTitle(QCoreApplication.translate("main_window", u"Environment Cosmetics", None)) self.setting_starry_skies.setText(QCoreApplication.translate("main_window", u"Starry Skies", None)) From 6f9146fff6e28d620b1cab8fd461f015e4bd7f60 Mon Sep 17 00:00:00 2001 From: CovenEsme <84377742+CovenEsme@users.noreply.github.com> Date: Wed, 24 Jul 2024 10:59:56 +0100 Subject: [PATCH 3/3] Bypass failing ER test with new seed --- tests/test_configs/decouple_entrances.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_configs/decouple_entrances.yaml b/tests/test_configs/decouple_entrances.yaml index d3b75b62..ec840139 100644 --- a/tests/test_configs/decouple_entrances.yaml +++ b/tests/test_configs/decouple_entrances.yaml @@ -1,4 +1,4 @@ -seed: TESTTESTTEST +seed: TESTTESTTESTTEST World 1: randomize_dungeon_entrances: "on" randomize_door_entrances: "on"