Skip to content

Commit e7bebc5

Browse files
Exempt-MedicFlySniper
authored andcommitted
[Blasphemous] Various logic fixes (ArchipelagoMW#1830)
This makes a few changes to logic to better match the 1.3 rando's logic. This fixes instances where the wrong items were expected, fixes a typo of "Lorqiana", moves the expert logic on "PotSS: Second area ledge" to only apply if on expert, and adds a new route to "DC: Mea Culpa altar" via Linen of Golden Thread + Three Gnarled Tongues
1 parent ca90e6c commit e7bebc5

File tree

1 file changed

+35
-31
lines changed

1 file changed

+35
-31
lines changed

worlds/blasphemous/Rules.py

+35-31
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def _blasphemous_cherub_13(self, player):
134134
self.has("Fervour Upgrade", player, 2))
135135

136136
def _blasphemous_cherub_20(self, player):
137-
return self.has_any({"Debla of the Lights", "Lorqiana", "Zarabanda of the Safe Haven", "Taranto to my Sister", \
137+
return self.has_any({"Debla of the Lights", "Lorquiana", "Zarabanda of the Safe Haven", "Taranto to my Sister", \
138138
"Cante Jondo of the Three Sisters", "Cloistered Ruby"}, player) or \
139139
(self.has_any({"Aubade of the Nameless Guardian", "Tirana of the Celestial Bastion"}, player) and \
140140
self.has("Fervour Upgrade", player, 2))
@@ -484,12 +484,11 @@ def rules(blasphemousworld):
484484
# Brotherhood of the Silent Sorrow
485485
set_rule(world.get_location("BotSS: Starting room Child of Moonlight", player),
486486
lambda state: (state._blasphemous_blood_relic(player) and \
487-
(state._blasphemous_root_relic(player)) or \
488-
(state._blasphemous_fall_relic(player))) or \
489-
(state._blasphemous_blood_relic(player) and \
487+
(state._blasphemous_root_relic(player) or \
488+
state._blasphemous_fall_relic(player))) or \
489+
(state._blasphemous_root_relic(player) and \
490490
state._blasphemous_cherub_6(player)) or \
491-
(state._blasphemous_debla(player) or \
492-
state._blasphemous_taranto(player)))
491+
state._blasphemous_taranto(player))
493492
set_rule(world.get_location("BotSS: Starting room ledge", player),
494493
lambda state: state._blasphemous_blood_relic(player) and \
495494
state._blasphemous_fall_relic(player))
@@ -555,9 +554,11 @@ def rules(blasphemousworld):
555554
state._blasphemous_bridge_access(player) and \
556555
state._blasphemous_1_mask(player) and \
557556
state._blasphemous_bronze_key(player) and \
558-
state._blasphemous_miasma_relic(player) and \
557+
(state._blasphemous_miasma_relic(player) and \
559558
state._blasphemous_water_relic(player) and \
560-
state._blasphemous_root_relic(player))
559+
state._blasphemous_root_relic(player) or \
560+
state._blasphemous_fall_relic(player) and \
561+
state._blasphemous_root_relic(player)))
561562
set_rule(world.get_location("DC: Child of Moonlight, behind pillar", player),
562563
lambda state: state._blasphemous_miasma_relic(player) and \
563564
state._blasphemous_water_relic(player))
@@ -700,21 +701,19 @@ def rules(blasphemousworld):
700701
state._blasphemous_root_relic(player))
701702
set_rule(world.get_location("MaH: Sierpes' eye", player),
702703
lambda state: state._blasphemous_bridge_access(player) and \
703-
(state._blasphemous_root_relic(player)) or \
704+
(state._blasphemous_root_relic(player) or \
704705
state._blasphemous_water_relic(player) or \
705-
state._blasphemous_dawn_heart(player))
706+
state._blasphemous_dawn_heart(player)))
706707
set_rule(world.get_location("MaH: Sierpes", player),
707708
lambda state: state._blasphemous_bridge_access(player) and \
708-
(state._blasphemous_root_relic(player)) or \
709+
(state._blasphemous_root_relic(player) or \
709710
state._blasphemous_water_relic(player) or \
710-
state._blasphemous_dawn_heart(player))
711+
state._blasphemous_dawn_heart(player)))
711712

712713
# Patio of the Silent Steps
713714
set_rule(world.get_location("PotSS: Second area ledge", player),
714715
lambda state: state._blasphemous_root_relic(player) or \
715-
state._blasphemous_dawn_heart(player) or \
716-
(state._blasphemous_wheel(player) and \
717-
state._blasphemous_ranged(player)))
716+
state._blasphemous_dawn_heart(player))
718717
set_rule(world.get_location("PotSS: Third area upper ledge", player),
719718
lambda state: state._blasphemous_root_relic(player) or \
720719
state._blasphemous_dawn_heart(player))
@@ -855,15 +854,15 @@ def rules(blasphemousworld):
855854
set_rule(world.get_location("Confessor Dungeon 6 extra", player),
856855
lambda state: state._blasphemous_bead(player) and \
857856
state._blasphemous_bridge_access(player) and \
858-
(state._blasphemous_1_mask(player) or \
859-
state._blasphemous_blood_relic(player) and \
857+
(state._blasphemous_blood_relic(player) or \
858+
state._blasphemous_1_mask(player) and \
860859
state._blasphemous_silver_key(player) and \
861860
state._blasphemous_bronze_key(player)))
862861
set_rule(world.get_location("Confessor Dungeon 6 main", player),
863862
lambda state: state._blasphemous_bead(player) and \
864863
state._blasphemous_bridge_access(player) and \
865-
(state._blasphemous_1_mask(player) or \
866-
state._blasphemous_blood_relic(player) and \
864+
(state._blasphemous_blood_relic(player) or \
865+
state._blasphemous_1_mask(player) and \
867866
state._blasphemous_silver_key(player) and \
868867
state._blasphemous_bronze_key(player)))
869868
set_rule(world.get_location("Confessor Dungeon 7 extra", player),
@@ -887,15 +886,15 @@ def rules(blasphemousworld):
887886
set_rule(world.get_location("Defeat 2 Amanecidas", player),
888887
lambda state: state._blasphemous_bell(player) and \
889888
state._blasphemous_open_holes(player) and \
890-
state._blasphemous_blood_relic(player) and \
891-
(state._blasphemous_root_relic(player) or \
889+
(state._blasphemous_blood_relic(player) and \
890+
state._blasphemous_root_relic(player) or \
892891
state._blasphemous_bridge_access(player)))
893892
set_rule(world.get_location("Defeat 3 Amanecidas", player),
894893
lambda state: state._blasphemous_bell(player) and \
895894
state._blasphemous_open_holes(player) and \
896895
state._blasphemous_bridge_access(player) and \
897-
state._blasphemous_blood_relic(player) and \
898-
(state._blasphemous_root_relic(player) or \
896+
(state._blasphemous_blood_relic(player) and \
897+
state._blasphemous_root_relic(player) or \
899898
(state._blasphemous_1_mask(player) and \
900899
state._blasphemous_bronze_key(player) and \
901900
state._blasphemous_silver_key(player))))
@@ -1030,6 +1029,11 @@ def rules(blasphemousworld):
10301029
state._blasphemous_water_relic(player) or \
10311030
(state._blasphemous_wheel(player) and \
10321031
state._blasphemous_ranged(player)))
1032+
set_rule(world.get_location("PotSS: Second area ledge", player),
1033+
lambda state: state._blasphemous_root_relic(player) or \
1034+
state._blasphemous_dawn_heart(player) or \
1035+
(state._blasphemous_wheel(player) and \
1036+
state._blasphemous_ranged(player)))
10331037
set_rule(world.get_location("PotSS: Third area upper ledge", player),
10341038
lambda state: state._blasphemous_root_relic(player) or \
10351039
state._blasphemous_dawn_heart(player) or \
@@ -1049,15 +1053,15 @@ def rules(blasphemousworld):
10491053
set_rule(world.get_location("Confessor Dungeon 6 extra", player),
10501054
lambda state: state._blasphemous_bead(player) and \
10511055
state._blasphemous_ex_bridge_access(player) and \
1052-
(state._blasphemous_1_mask(player) or \
1053-
state._blasphemous_blood_relic(player) and \
1056+
(state._blasphemous_blood_relic(player) or \
1057+
state._blasphemous_1_mask(player) and \
10541058
state._blasphemous_silver_key(player) and \
10551059
state._blasphemous_bronze_key(player)))
10561060
set_rule(world.get_location("Confessor Dungeon 6 main", player),
10571061
lambda state: state._blasphemous_bead(player) and \
10581062
state._blasphemous_ex_bridge_access(player) and \
1059-
(state._blasphemous_1_mask(player) or \
1060-
state._blasphemous_blood_relic(player) and \
1063+
(state._blasphemous_blood_relic(player) or \
1064+
state._blasphemous_1_mask(player) and \
10611065
state._blasphemous_silver_key(player) and \
10621066
state._blasphemous_bronze_key(player)))
10631067
set_rule(world.get_location("Confessor Dungeon 7 extra", player),
@@ -1077,15 +1081,15 @@ def rules(blasphemousworld):
10771081
set_rule(world.get_location("Defeat 2 Amanecidas", player),
10781082
lambda state: state._blasphemous_bell(player) and \
10791083
state._blasphemous_open_holes(player) and \
1080-
state._blasphemous_blood_relic(player) and \
1081-
(state._blasphemous_root_relic(player) or \
1084+
(state._blasphemous_blood_relic(player) and \
1085+
state._blasphemous_root_relic(player) or \
10821086
state._blasphemous_ex_bridge_access(player)))
10831087
set_rule(world.get_location("Defeat 3 Amanecidas", player),
10841088
lambda state: state._blasphemous_bell(player) and \
10851089
state._blasphemous_open_holes(player) and \
10861090
state._blasphemous_ex_bridge_access(player) and \
1087-
state._blasphemous_blood_relic(player) and \
1088-
(state._blasphemous_root_relic(player) or \
1091+
(state._blasphemous_blood_relic(player) and \
1092+
state._blasphemous_root_relic(player) or \
10891093
(state._blasphemous_1_mask(player) and \
10901094
state._blasphemous_bronze_key(player) and \
10911095
state._blasphemous_silver_key(player))))

0 commit comments

Comments
 (0)