Aquaria Fixing some bugs (#4057)
* Fixing some bugs * Forgot about this one
This commit is contained in:
parent
618564c60a
commit
af0b5f8cf2
|
@ -738,9 +738,7 @@ class AquariaRegions:
|
||||||
self.__connect_regions("Sun Temple left area", "Veil left of sun temple",
|
self.__connect_regions("Sun Temple left area", "Veil left of sun temple",
|
||||||
self.sun_temple_l, self.veil_tr_l)
|
self.sun_temple_l, self.veil_tr_l)
|
||||||
self.__connect_regions("Sun Temple left area", "Sun Temple before boss area",
|
self.__connect_regions("Sun Temple left area", "Sun Temple before boss area",
|
||||||
self.sun_temple_l, self.sun_temple_boss_path,
|
self.sun_temple_l, self.sun_temple_boss_path)
|
||||||
lambda state: _has_light(state, self.player) or
|
|
||||||
_has_sun_crystal(state, self.player))
|
|
||||||
self.__connect_regions("Sun Temple before boss area", "Sun Temple boss area",
|
self.__connect_regions("Sun Temple before boss area", "Sun Temple boss area",
|
||||||
self.sun_temple_boss_path, self.sun_temple_boss,
|
self.sun_temple_boss_path, self.sun_temple_boss,
|
||||||
lambda state: _has_energy_attack_item(state, self.player))
|
lambda state: _has_energy_attack_item(state, self.player))
|
||||||
|
@ -778,11 +776,8 @@ class AquariaRegions:
|
||||||
_has_dual_form(state, self.player))
|
_has_dual_form(state, self.player))
|
||||||
self.__connect_regions("Abyss left area", "Abyss right area",
|
self.__connect_regions("Abyss left area", "Abyss right area",
|
||||||
self.abyss_l, self.abyss_r)
|
self.abyss_l, self.abyss_r)
|
||||||
self.__connect_one_way_regions("Abyss right area", "Abyss right area, transturtle",
|
self.__connect_regions("Abyss right area", "Abyss right area, transturtle",
|
||||||
self.abyss_r, self.abyss_r_transturtle)
|
self.abyss_r, self.abyss_r_transturtle)
|
||||||
self.__connect_one_way_regions("Abyss right area, transturtle", "Abyss right area",
|
|
||||||
self.abyss_r_transturtle, self.abyss_r,
|
|
||||||
lambda state: _has_light(state, self.player))
|
|
||||||
self.__connect_regions("Abyss right area", "Inside the whale",
|
self.__connect_regions("Abyss right area", "Inside the whale",
|
||||||
self.abyss_r, self.whale,
|
self.abyss_r, self.whale,
|
||||||
lambda state: _has_spirit_form(state, self.player) and
|
lambda state: _has_spirit_form(state, self.player) and
|
||||||
|
@ -1092,12 +1087,10 @@ class AquariaRegions:
|
||||||
lambda state: _has_light(state, self.player))
|
lambda state: _has_light(state, self.player))
|
||||||
add_rule(self.multiworld.get_entrance("Open Water bottom left area to Abyss left area", self.player),
|
add_rule(self.multiworld.get_entrance("Open Water bottom left area to Abyss left area", self.player),
|
||||||
lambda state: _has_light(state, self.player))
|
lambda state: _has_light(state, self.player))
|
||||||
add_rule(self.multiworld.get_entrance("Sun Temple left area to Sun Temple right area", self.player),
|
|
||||||
lambda state: _has_light(state, self.player) or _has_sun_crystal(state, self.player))
|
|
||||||
add_rule(self.multiworld.get_entrance("Sun Temple right area to Sun Temple left area", self.player),
|
|
||||||
lambda state: _has_light(state, self.player) or _has_sun_crystal(state, self.player))
|
|
||||||
add_rule(self.multiworld.get_entrance("Veil left of sun temple to Sun Temple left area", self.player),
|
add_rule(self.multiworld.get_entrance("Veil left of sun temple to Sun Temple left area", self.player),
|
||||||
lambda state: _has_light(state, self.player) or _has_sun_crystal(state, self.player))
|
lambda state: _has_light(state, self.player) or _has_sun_crystal(state, self.player))
|
||||||
|
add_rule(self.multiworld.get_entrance("Abyss right area, transturtle to Abyss right area", self.player),
|
||||||
|
lambda state: _has_light(state, self.player))
|
||||||
|
|
||||||
def __adjusting_manual_rules(self) -> None:
|
def __adjusting_manual_rules(self) -> None:
|
||||||
add_rule(self.multiworld.get_location("Mithalas Cathedral, Mithalan Dress", self.player),
|
add_rule(self.multiworld.get_location("Mithalas Cathedral, Mithalan Dress", self.player),
|
||||||
|
@ -1151,6 +1144,10 @@ class AquariaRegions:
|
||||||
lambda state: state.has("Sun God beated", self.player))
|
lambda state: state.has("Sun God beated", self.player))
|
||||||
add_rule(self.multiworld.get_location("The Body center area, breaking Li's cage", self.player),
|
add_rule(self.multiworld.get_location("The Body center area, breaking Li's cage", self.player),
|
||||||
lambda state: _has_tongue_cleared(state, self.player))
|
lambda state: _has_tongue_cleared(state, self.player))
|
||||||
|
add_rule(self.multiworld.get_location(
|
||||||
|
"Open Water top right area, bulb in the small path before Mithalas",
|
||||||
|
self.player), lambda state: _has_bind_song(state, self.player)
|
||||||
|
)
|
||||||
|
|
||||||
def __no_progression_hard_or_hidden_location(self) -> None:
|
def __no_progression_hard_or_hidden_location(self) -> None:
|
||||||
self.multiworld.get_location("Energy Temple boss area, Fallen God Tooth",
|
self.multiworld.get_location("Energy Temple boss area, Fallen God Tooth",
|
||||||
|
|
|
@ -130,12 +130,13 @@ class AquariaWorld(World):
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def __pre_fill_item(self, item_name: str, location_name: str, precollected) -> None:
|
def __pre_fill_item(self, item_name: str, location_name: str, precollected,
|
||||||
|
itemClassification: ItemClassification = ItemClassification.useful) -> None:
|
||||||
"""Pre-assign an item to a location"""
|
"""Pre-assign an item to a location"""
|
||||||
if item_name not in precollected:
|
if item_name not in precollected:
|
||||||
self.exclude.append(item_name)
|
self.exclude.append(item_name)
|
||||||
data = item_table[item_name]
|
data = item_table[item_name]
|
||||||
item = AquariaItem(item_name, ItemClassification.useful, data.id, self.player)
|
item = AquariaItem(item_name, itemClassification, data.id, self.player)
|
||||||
self.multiworld.get_location(location_name, self.player).place_locked_item(item)
|
self.multiworld.get_location(location_name, self.player).place_locked_item(item)
|
||||||
|
|
||||||
def get_filler_item_name(self):
|
def get_filler_item_name(self):
|
||||||
|
@ -164,7 +165,8 @@ class AquariaWorld(World):
|
||||||
self.__pre_fill_item("Transturtle Abyss right", "Abyss right area, Transturtle", precollected)
|
self.__pre_fill_item("Transturtle Abyss right", "Abyss right area, Transturtle", precollected)
|
||||||
self.__pre_fill_item("Transturtle Final Boss", "Final Boss area, Transturtle", precollected)
|
self.__pre_fill_item("Transturtle Final Boss", "Final Boss area, Transturtle", precollected)
|
||||||
# The last two are inverted because in the original game, they are special turtle that communicate directly
|
# The last two are inverted because in the original game, they are special turtle that communicate directly
|
||||||
self.__pre_fill_item("Transturtle Simon Says", "Arnassi Ruins, Transturtle", precollected)
|
self.__pre_fill_item("Transturtle Simon Says", "Arnassi Ruins, Transturtle", precollected,
|
||||||
|
ItemClassification.progression)
|
||||||
self.__pre_fill_item("Transturtle Arnassi Ruins", "Simon Says area, Transturtle", precollected)
|
self.__pre_fill_item("Transturtle Arnassi Ruins", "Simon Says area, Transturtle", precollected)
|
||||||
for name, data in item_table.items():
|
for name, data in item_table.items():
|
||||||
if name not in self.exclude:
|
if name not in self.exclude:
|
||||||
|
|
Loading…
Reference in New Issue