mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 12:11:33 -06:00
SA2B - v2.4 Logic Fixes (#4770)
* Logic tweaks * Docs updates * Delete extra file * One more logic tweak * Add missing logic change
This commit is contained in:
@@ -59,6 +59,8 @@
|
||||
- Going into submenus from the pause menu should no longer reset traps
|
||||
- `Sonic - Magic Gloves` are now plural
|
||||
- Junk items will no longer cause a crash when in a falling state
|
||||
- Saves should no longer incorrectly be marked as not matching the connected server
|
||||
- Fixed miscellaneous crashes
|
||||
- Chao Garden:
|
||||
- Prevent races from occasionally becoming uncompletable when using the "Prize Only" option
|
||||
- Properly allow Hero Chao to participate in Dark Races
|
||||
|
@@ -1439,7 +1439,9 @@ def set_mission_upgrade_rules_standard(multiworld: MultiWorld, world: World, pla
|
||||
lambda state: state.has(ItemName.rouge_iron_boots, player))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.pyramid_cave_lifebox_5, player),
|
||||
lambda state: state.has(ItemName.sonic_bounce_bracelet, player))
|
||||
lambda state: (state.has(ItemName.sonic_light_shoes, player) and
|
||||
state.has(ItemName.sonic_bounce_bracelet, player) and
|
||||
state.has(ItemName.sonic_mystic_melody, player)))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.pyramid_cave_lifebox_6, player),
|
||||
lambda state: state.has(ItemName.sonic_bounce_bracelet, player))
|
||||
@@ -1745,6 +1747,8 @@ def set_mission_upgrade_rules_standard(multiworld: MultiWorld, world: World, pla
|
||||
state.has(ItemName.sonic_bounce_bracelet, player) and
|
||||
state.has(ItemName.sonic_flame_ring, player)))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.eqq_quarters_itembox_9, player),
|
||||
lambda state: state.has(ItemName.rouge_mystic_melody, player))
|
||||
add_rule(multiworld.get_location(LocationName.lost_colony_itembox_9, player),
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player))
|
||||
add_rule(multiworld.get_location(LocationName.security_hall_itembox_9, player),
|
||||
@@ -2464,10 +2468,6 @@ def set_mission_upgrade_rules_hard(multiworld: MultiWorld, world: World, player:
|
||||
add_rule(multiworld.get_location(LocationName.eternal_engine_omo_2, player),
|
||||
lambda state: state.has(ItemName.tails_booster, player))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.weapons_bed_omo_2, player),
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player) or
|
||||
state.has(ItemName.eggman_large_cannon, player))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.hidden_base_omo_3, player),
|
||||
lambda state: state.has(ItemName.tails_booster, player))
|
||||
add_rule(multiworld.get_location(LocationName.eternal_engine_omo_3, player),
|
||||
@@ -3214,6 +3214,8 @@ def set_mission_upgrade_rules_hard(multiworld: MultiWorld, world: World, player:
|
||||
lambda state: (state.has(ItemName.sonic_light_shoes, player) and
|
||||
state.has(ItemName.sonic_flame_ring, player)))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.eqq_quarters_itembox_9, player),
|
||||
lambda state: state.has(ItemName.rouge_mystic_melody, player))
|
||||
add_rule(multiworld.get_location(LocationName.lost_colony_itembox_9, player),
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player))
|
||||
add_rule(multiworld.get_location(LocationName.security_hall_itembox_9, player),
|
||||
@@ -3435,8 +3437,6 @@ def set_mission_upgrade_rules_hard(multiworld: MultiWorld, world: World, player:
|
||||
|
||||
# Big Upgrade Requirements
|
||||
if world.options.bigsanity:
|
||||
add_rule(multiworld.get_location(LocationName.metal_harbor_big, player),
|
||||
lambda state: state.has(ItemName.sonic_bounce_bracelet, player))
|
||||
add_rule(multiworld.get_location(LocationName.mission_street_big, player),
|
||||
lambda state: state.has(ItemName.tails_booster, player))
|
||||
add_rule(multiworld.get_location(LocationName.hidden_base_big, player),
|
||||
@@ -3454,8 +3454,6 @@ def set_mission_upgrade_rules_hard(multiworld: MultiWorld, world: World, player:
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.lost_colony_big, player),
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player))
|
||||
add_rule(multiworld.get_location(LocationName.weapons_bed_big, player),
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.cannon_core_big_2, player),
|
||||
lambda state: state.has(ItemName.tails_booster, player))
|
||||
@@ -3700,10 +3698,6 @@ def set_mission_upgrade_rules_expert(multiworld: MultiWorld, world: World, playe
|
||||
add_rule(multiworld.get_location(LocationName.eternal_engine_omo_2, player),
|
||||
lambda state: state.has(ItemName.tails_booster, player))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.weapons_bed_omo_2, player),
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player) or
|
||||
state.has(ItemName.eggman_large_cannon, player))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.hidden_base_omo_3, player),
|
||||
lambda state: state.has(ItemName.tails_booster, player))
|
||||
add_rule(multiworld.get_location(LocationName.eternal_engine_omo_3, player),
|
||||
@@ -4210,7 +4204,8 @@ def set_mission_upgrade_rules_expert(multiworld: MultiWorld, world: World, playe
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.eternal_engine_itembox_13, player),
|
||||
lambda state: state.has(ItemName.tails_booster, player))
|
||||
lambda state: (state.has(ItemName.tails_booster, player) and
|
||||
state.has(ItemName.tails_bazooka, player)))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.mad_space_itembox_13, player),
|
||||
lambda state: state.has(ItemName.rouge_treasure_scope, player))
|
||||
@@ -4218,7 +4213,8 @@ def set_mission_upgrade_rules_expert(multiworld: MultiWorld, world: World, playe
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.eternal_engine_itembox_14, player),
|
||||
lambda state: state.has(ItemName.tails_booster, player))
|
||||
lambda state: (state.has(ItemName.tails_booster, player) and
|
||||
state.has(ItemName.tails_bazooka, player)))
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.cosmic_wall_itembox_14, player),
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player))
|
||||
@@ -4264,8 +4260,6 @@ def set_mission_upgrade_rules_expert(multiworld: MultiWorld, world: World, playe
|
||||
|
||||
# Big Upgrade Requirements
|
||||
if world.options.bigsanity:
|
||||
add_rule(multiworld.get_location(LocationName.metal_harbor_big, player),
|
||||
lambda state: state.has(ItemName.sonic_bounce_bracelet, player))
|
||||
add_rule(multiworld.get_location(LocationName.mission_street_big, player),
|
||||
lambda state: state.has(ItemName.tails_booster, player))
|
||||
add_rule(multiworld.get_location(LocationName.hidden_base_big, player),
|
||||
@@ -4276,8 +4270,6 @@ def set_mission_upgrade_rules_expert(multiworld: MultiWorld, world: World, playe
|
||||
|
||||
add_rule(multiworld.get_location(LocationName.lost_colony_big, player),
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player))
|
||||
add_rule(multiworld.get_location(LocationName.weapons_bed_big, player),
|
||||
lambda state: state.has(ItemName.eggman_jet_engine, player))
|
||||
|
||||
|
||||
def set_boss_gate_rules(multiworld: MultiWorld, player: int, gate_bosses: typing.Dict[int, int]):
|
||||
|
@@ -129,7 +129,10 @@ If you wish to use the `SADX Music` option of the Randomizer, you must own a cop
|
||||
- If you enabled an `SADX Music` option, then most likely the music data was not copied properly into the mod folder (See Additional Options for instructions).
|
||||
|
||||
- Mission 1 is missing a texture in the stage select UI.
|
||||
- Most likely another mod is conflicting and overwriting the texture pack. It is recommeded to have the SA2B Archipelago mod load last in the mod manager.
|
||||
- Most likely another mod is conflicting and overwriting the texture pack. It is recommended to have the SA2B Archipelago mod load last in the mod manager.
|
||||
|
||||
- Minigame trap is un-winnable
|
||||
- If you are using the SA2 Input Controls mod, it conflicts with certain minigames such as the Input Sequence Trap and medium difficulty Fishing Trap. Disabling the SA2 Input Controls mod should resolve the issue.
|
||||
|
||||
## Save File Safeguard (Advanced Option)
|
||||
|
||||
|
Reference in New Issue
Block a user