2023-02-23 23:33:09 -07:00
from worlds . generic . Rules import set_rule , add_rule
from . . AutoWorld import LogicMixin
class BlasphemousLogic ( LogicMixin ) :
def _blasphemous_blood_relic ( self , player ) :
return self . has ( " Blood Perpetuated in Sand " , player )
def _blasphemous_water_relic ( self , player ) :
return self . has ( " Nail Uprooted from Dirt " , player )
def _blasphemous_corpse_relic ( self , player ) :
return self . has ( " Shroud of Dreamt Sins " , player )
def _blasphemous_fall_relic ( self , player ) :
return self . has ( " Linen of Golden Thread " , player )
def _blasphemous_miasma_relic ( self , player ) :
return self . has ( " Silvered Lung of Dolphos " , player )
def _blasphemous_root_relic ( self , player ) :
return self . has ( " Three Gnarled Tongues " , player )
def _blasphemous_open_holes ( self , player ) :
return self . has_any ( { " Dive Skill " , " Charged Skill " } , player ) or \
self . has_group ( " prayer " , player , 1 ) or \
( self . has_any ( { " Tirana of the Celestial Bastion " , " Aubade of the Nameless Guardian " } , player ) and \
self . has ( " Fervour Upgrade " , player , 2 ) )
def _blasphemous_bell ( self , player ) :
return self . has ( " Petrified Bell " , player )
def _blasphemous_bead ( self , player ) :
return self . has ( " Weight of True Guilt " , player )
def _blasphemous_cloth ( self , player ) :
return self . has ( " Linen Cloth " , player )
def _blasphemous_pre_egg ( self , player ) :
return self . has ( " Egg of Deformity " , player )
def _blasphemous_egg ( self , player ) :
return self . has ( " Hatched Egg of Deformity " , player )
def _blasphemous_hand ( self , player ) :
return self . has ( " Severed Hand " , player )
def _blasphemous_chalice ( self , player ) :
return self . has ( " Chalice of Inverted Verses " , player )
def _blasphemous_thimble ( self , player ) :
return self . has ( " Empty Golden Thimble " , player )
def _blasphemous_full_thimble ( self , player ) :
return self . has ( " Golden Thimble Filled with Burning Oil " , player )
def _blasphemous_flowers ( self , player ) :
return self . has ( " Dried Flowers bathed in Tears " , player )
def _blasphemous_redento ( self , player ) :
return self . has_all ( { " Little Toe made of Limestone " , " Big Toe made of Limestone " , \
" Fourth Toe made of Limestone " } , player ) and \
self . has ( " Knot of Rosary Rope " , player )
def _blasphemous_cord ( self , player ) :
return self . has ( " Cord of the True Burying " , player )
def _blasphemous_marks ( self , player ) :
return self . has_all ( { " Mark of the First Refuge " , " Mark of the Second Refuge " , \
" Mark of the Third Refuge " } , player )
def _blasphemous_red_wax ( self , player ) :
return self . has ( " Bead of Red Wax " , player )
def _blasphemous_blue_wax ( self , player ) :
return self . has ( " Bead of Blue Wax " , player )
def _blasphemous_both_wax ( self , player ) :
return self . has ( " Bead of Red Wax " , player , 3 ) and \
self . has ( " Bead of Blue Wax " , player , 3 )
def _blasphemous_elder_key ( self , player ) :
return self . has ( " Key to the Chamber of the Eldest Brother " , player )
def _blasphemous_bronze_key ( self , player ) :
return self . has ( " Key of the Secular " , player )
def _blasphemous_silver_key ( self , player ) :
return self . has ( " Key of the Scribe " , player )
def _blasphemous_gold_key ( self , player ) :
return self . has ( " Key of the Inquisitor " , player )
def _blasphemous_high_key ( self , player ) :
return self . has ( " Key of the High Peaks " , player )
def _blasphemous_wood_key ( self , player ) :
return self . has ( " Key Grown from Twisted Wood " , player )
def _blasphemous_scapular ( self , player ) :
return self . has ( " Incomplete Scapular " , player )
def _blasphemous_heart_c ( self , player ) :
return self . has ( " Apodictic Heart of Mea Culpa " , player )
def _blasphemous_eyes ( self , player ) :
return self . has ( " Severed Right Eye of the Traitor " , player ) and \
self . has ( " Broken Left Eye of the Traitor " , player )
def _blasphemous_debla ( self , player ) :
return self . has ( " Debla of the Lights " , player )
def _blasphemous_taranto ( self , player ) :
return self . has ( " Taranto to my Sister " , player )
def _blasphemous_tirana ( self , player ) :
2023-04-04 22:54:51 -06:00
return self . has ( " Tirana of the Celestial Bastion " , player ) and \
self . has ( " Fervour Upgrade " , player , 2 )
2023-02-23 23:33:09 -07:00
def _blasphemous_aubade ( self , player ) :
2023-04-04 22:54:51 -06:00
return self . has ( " Aubade of the Nameless Guardian " , player ) and \
self . has ( " Fervour Upgrade " , player , 2 )
2023-02-23 23:33:09 -07:00
def _blasphemous_cherub_6 ( self , player ) :
return self . has_any ( { " Debla of the Lights " , " Taranto to my Sister " , " Verdiales of the Forsaken Hamlet " , \
2023-04-04 22:54:51 -06:00
" Cloistered Ruby " } , player ) or \
( self . has ( " Tirana of the Celestial Bastion " , player ) and \
self . has ( " Fervour Upgrade " , player , 2 ) )
2023-02-23 23:33:09 -07:00
def _blasphemous_cherub_13 ( self , player ) :
return self . has_any ( { " Ranged Skill " , " Debla of the Lights " , " Taranto to my Sister " , \
2023-04-04 22:54:51 -06:00
" Cante Jondo of the Three Sisters " , " Cloistered Ruby " } , player ) or \
( self . has_any ( { " Aubade of the Nameless Guardian " , " Tirana of the Celestial Bastion " } , player ) and \
self . has ( " Fervour Upgrade " , player , 2 ) )
2023-02-23 23:33:09 -07:00
def _blasphemous_cherub_20 ( self , player ) :
return self . has_any ( { " Debla of the Lights " , " Lorqiana " , " Zarabanda of the Safe Haven " , " Taranto to my Sister " , \
2023-04-04 22:54:51 -06:00
" Cante Jondo of the Three Sisters " , " Cloistered Ruby " } , player ) or \
( self . has_any ( { " Aubade of the Nameless Guardian " , " Tirana of the Celestial Bastion " } , player ) and \
self . has ( " Fervour Upgrade " , player , 2 ) )
2023-02-23 23:33:09 -07:00
def _blasphemous_cherub_21 ( self , player ) :
return self . has_any ( { " Debla of the Lights " , " Taranto to my Sister " , " Cante Jondo of the Three Sisters " , \
2023-04-04 22:54:51 -06:00
" Verdiales of the Forsaken Hamlet " , " Cloistered Ruby " } , player ) or \
( self . has ( " Tirana of the Celestial Bastion " , player ) and \
2023-04-07 18:04:34 -06:00
self . has ( " Fervour Upgrade " , player , 2 ) )
2023-02-23 23:33:09 -07:00
def _blasphemous_cherub_22_23_31_32 ( self , player ) :
return self . has_any ( { " Debla of the Lights " , " Taranto to my Sister " , " Cloistered Ruby " } , player )
def _blasphemous_cherub_24_33 ( self , player ) :
return self . has_any ( { " Debla of the Lights " , " Taranto to my Sister " , " Cante Jondo of the Three Sisters " , \
2023-04-04 22:54:51 -06:00
" Cloistered Ruby " } , player ) or \
( self . has ( " Tirana of the Celestial Bastion " , player ) and \
self . has ( " Fervour Upgrade " , player , 2 ) )
2023-02-23 23:33:09 -07:00
def _blasphemous_cherub_25 ( self , player ) :
return self . has_any ( { " Debla of the Lights " , " Lorquiana " , " Taranto to my Sister " , \
2023-04-04 22:54:51 -06:00
" Cante Jondo of the Three Sisters " , " Verdiales of the Forsaken Hamlet " , " Cantina of the Blue Rose " , \
" Cloistered Ruby " } , player ) or \
( self . has ( " Aubade of the Nameless Guardian " , player ) and \
self . has ( " Fervour Upgrade " , player , 2 ) )
2023-02-23 23:33:09 -07:00
def _blasphemous_cherub_27 ( self , player ) :
return self . has_any ( { " Ranged Skill " , " Debla of the Lights " , " Lorquiana " , " Taranto to my Sister " , \
2023-04-04 22:54:51 -06:00
" Cante Jondo of the Three Sisters " , " Cantina of the Blue Rose " , " Cloistered Ruby " } , player ) or \
( self . has ( " Aubade of the Nameless Guardian " , player ) and \
self . has ( " Fervour Upgrade " , player , 2 ) )
2023-02-23 23:33:09 -07:00
def _blasphemous_cherub_38 ( self , player ) :
return self . has_any ( { " Ranged Skill " , " Lorquiana " , " Cante Jondo of the Three Sisters " , \
2023-04-04 22:54:51 -06:00
" Cantina of the Blue Rose " , " Cloistered Ruby " } , player ) or \
2023-02-23 23:33:09 -07:00
( self . has ( " The Young Mason ' s Wheel " , player ) and \
2023-04-04 22:54:51 -06:00
self . has ( " Brilliant Heart of Dawn " , player ) ) or \
( self . has ( " Aubade of the Nameless Guardian " , player ) and \
self . has ( " Fervour Upgrade " , player , 2 ) )
2023-02-23 23:33:09 -07:00
def _blasphemous_wheel ( self , player ) :
return self . has ( " The Young Mason ' s Wheel " , player )
def _blasphemous_dawn_heart ( self , player ) :
return self . has ( " Brilliant Heart of Dawn " , player )
def _blasphemous_tirso_1 ( self , player ) :
return self . has_group ( " tirso " , player , 1 )
def _blasphemous_tirso_2 ( self , player ) :
return self . has_group ( " tirso " , player , 2 )
def _blasphemous_tirso_3 ( self , player ) :
return self . has_group ( " tirso " , player , 3 )
def _blasphemous_tirso_4 ( self , player ) :
return self . has_group ( " tirso " , player , 4 )
def _blasphemous_tirso_5 ( self , player ) :
return self . has_group ( " tirso " , player , 5 )
def _blasphemous_tirso_6 ( self , player ) :
return self . has_group ( " tirso " , player , 6 )
def _blasphemous_tentudia_1 ( self , player ) :
return self . has_group ( " tentudia " , player , 1 )
def _blasphemous_tentudia_2 ( self , player ) :
return self . has_group ( " tentudia " , player , 2 )
def _blasphemous_tentudia_3 ( self , player ) :
return self . has_group ( " tentudia " , player , 3 )
def _blasphemous_altasgracias_3 ( self , player ) :
return self . has_group ( " egg " , player , 3 )
def _blasphemous_cherubs_20 ( self , player ) :
return self . has ( " Child of Moonlight " , player , 20 )
def _blasphemous_cherubs_all ( self , player ) :
return self . has ( " Child of Moonlight " , player , 38 )
def _blasphemous_bones_4 ( self , player ) :
return self . has_group ( " bones " , player , 4 )
def _blasphemous_bones_8 ( self , player ) :
return self . has_group ( " bones " , player , 8 )
def _blasphemous_bones_12 ( self , player ) :
return self . has_group ( " bones " , player , 12 )
def _blasphemous_bones_16 ( self , player ) :
return self . has_group ( " bones " , player , 16 )
def _blasphemous_bones_20 ( self , player ) :
return self . has_group ( " bones " , player , 20 )
def _blasphemous_bones_24 ( self , player ) :
return self . has_group ( " bones " , player , 24 )
def _blasphemous_bones_28 ( self , player ) :
return self . has_group ( " bones " , player , 28 )
def _blasphemous_bones_30 ( self , player ) :
return self . has_group ( " bones " , player , 30 )
def _blasphemous_bones_32 ( self , player ) :
return self . has_group ( " bones " , player , 32 )
def _blasphemous_bones_36 ( self , player ) :
return self . has_group ( " bones " , player , 36 )
def _blasphemous_bones_40 ( self , player ) :
return self . has_group ( " bones " , player , 40 )
def _blasphemous_bones_44 ( self , player ) :
return self . has_group ( " bones " , player , 44 )
def _blasphemous_sword_1 ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player )
def _blasphemous_sword_2 ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 2 )
def _blasphemous_sword_3 ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 3 )
def _blasphemous_sword_4 ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 4 )
def _blasphemous_sword_5 ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 5 )
def _blasphemous_sword_6 ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 6 )
def _blasphemous_sword_7 ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 7 )
def _blasphemous_ranged ( self , player ) :
return self . has ( " Ranged Skill " , player )
def _blasphemous_bridge_access ( self , player ) :
return self . has_group ( " wounds " , player , 3 )
def _blasphemous_ex_bridge_access ( self , player ) :
return self . has_group ( " wounds " , player , 3 ) or \
( self . has ( " Brilliant Heart of Dawn " , player ) and \
self . has ( " Ranged Skill " , player ) and \
self . has ( " Blood Perpetuated in Sand " , player ) ) or \
( self . has ( " Blood Perpetuated in Sand " , player ) and \
self . has ( " Tirana of the Celestial Bastion " , player ) and \
self . has ( " Fervour Upgrade " , player , 2 ) )
def _blasphemous_1_mask ( self , player ) :
return self . has_group ( " masks " , player , 1 )
def _blasphemous_2_masks ( self , player ) :
return self . has_group ( " masks " , player , 2 )
def _blasphemous_3_masks ( self , player ) :
return self . has_group ( " masks " , player , 3 )
def _blasphemous_laudes_gate ( self , player ) :
return self . has_all ( { " Petrified Bell " , " Blood Perpetuated in Sand " , " Three Gnarled Tongues " , " Key of the Secular " , " Key of the Scribe " , " Verses Spun from Gold " } , player )
# Ten Piedad, Tres Angustias, Our Lady of the Charred Visage
def _blasphemous_wound_boss_easy ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 2 ) and \
self . has_group ( " power " , player , 3 )
def _blasphemous_wound_boss_normal ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 1 )
def _blasphemous_wound_boss_hard ( self , player ) :
return True
# Esdras
def _blasphemous_esdras_boss_easy ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 3 ) and \
self . has_group ( " power " , player , 5 )
def _blasphemous_esdras_boss_normal ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 2 ) and \
self . has_group ( " power " , player , 2 )
def _blasphemous_esdras_boss_hard ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 1 ) and \
self . has_group ( " power " , player , 1 )
# Melquiades, Exposito, Quirce
def _blasphemous_mask_boss_easy ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 4 ) and \
self . has_group ( " power " , player , 8 )
def _blasphemous_mask_boss_normal ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 3 ) and \
self . has_group ( " power " , player , 4 )
def _blasphemous_mask_boss_hard ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 2 ) and \
self . has_group ( " power " , player , 2 )
# Crisanta, Isidora, Sierpes, Amanecidas, Laudes
def _blasphemous_endgame_boss_easy ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 6 ) and \
self . has_group ( " power " , player , 16 )
def _blasphemous_endgame_boss_normal ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 5 ) and \
self . has_group ( " power " , player , 8 )
def _blasphemous_endgame_boss_hard ( self , player ) :
return self . has ( " Mea Culpa Upgrade " , player , 4 ) and \
self . has_group ( " power " , player , 5 )
def rules ( blasphemousworld ) :
world = blasphemousworld . multiworld
player = blasphemousworld . player
# entrances
for i in world . get_region ( " Deambulatory of His Holiness " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_3_masks ( player ) )
for i in world . get_region ( " Ferrous Tree " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_bridge_access ( player ) )
for i in world . get_region ( " Mother of Mothers " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_bridge_access ( player ) )
for i in world . get_region ( " Mourning and Havoc " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_blood_relic ( player ) or \
state . can_reach ( world . get_region ( " Mother of Mothers " , player ) , player ) )
for i in world . get_region ( " Patio of the Silent Steps " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_bridge_access ( player ) )
for i in world . get_region ( " The Resting Place of the Sister " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_blood_relic ( player ) )
for i in world . get_region ( " The Sleeping Canvases " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_bridge_access ( player ) )
for i in world . get_region ( " Wall of the Holy Prohibitions " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bridge_access ( player ) )
# Albero
set_rule ( world . get_location ( " Albero: Bless Linen Cloth " , player ) ,
lambda state : state . _blasphemous_cloth ( player ) )
set_rule ( world . get_location ( " Albero: Bless Hatched Egg " , player ) ,
lambda state : state . _blasphemous_egg ( player ) )
set_rule ( world . get_location ( " Albero: Bless Severed Hand " , player ) ,
lambda state : state . _blasphemous_hand ( player ) )
set_rule ( world . get_location ( " Albero: First gift for Cleofas " , player ) ,
lambda state : state . can_reach ( world . get_region ( " Mother of Mothers " , player ) ) )
set_rule ( world . get_location ( " Albero: Final gift for Cleofas " , player ) ,
lambda state : state . can_reach ( world . get_region ( " Mother of Mothers " , player ) ) and \
state . _blasphemous_marks ( player ) and \
state . _blasphemous_cord ( player ) )
set_rule ( world . get_location ( " Albero: Tirso ' s 1st reward " , player ) ,
lambda state : state . _blasphemous_tirso_1 ( player ) )
set_rule ( world . get_location ( " Albero: Tirso ' s 2nd reward " , player ) ,
lambda state : state . _blasphemous_tirso_2 ( player ) )
set_rule ( world . get_location ( " Albero: Tirso ' s 3rd reward " , player ) ,
lambda state : state . _blasphemous_tirso_3 ( player ) )
set_rule ( world . get_location ( " Albero: Tirso ' s 4th reward " , player ) ,
lambda state : state . _blasphemous_tirso_4 ( player ) )
set_rule ( world . get_location ( " Albero: Tirso ' s 5th reward " , player ) ,
lambda state : state . _blasphemous_tirso_5 ( player ) )
set_rule ( world . get_location ( " Albero: Tirso ' s 6th reward " , player ) ,
lambda state : state . _blasphemous_tirso_6 ( player ) )
set_rule ( world . get_location ( " Albero: Tirso ' s final reward " , player ) ,
lambda state : state . _blasphemous_tirso_6 ( player ) and \
state . can_reach ( world . get_region ( " Wall of the Holy Prohibitions " , player ) ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " Albero: Lvdovico ' s 1st reward " , player ) ,
lambda state : state . _blasphemous_tentudia_1 ( player ) )
set_rule ( world . get_location ( " Albero: Lvdovico ' s 2nd reward " , player ) ,
lambda state : state . _blasphemous_tentudia_2 ( player ) )
set_rule ( world . get_location ( " Albero: Lvdovico ' s 3rd reward " , player ) ,
lambda state : state . _blasphemous_tentudia_3 ( player ) )
set_rule ( world . get_location ( " Ossuary: Isidora, Voice of the Dead " , player ) ,
lambda state : state . _blasphemous_bones_30 ( player ) )
set_rule ( world . get_location ( " Ossuary: 1st reward " , player ) ,
lambda state : state . _blasphemous_bones_4 ( player ) )
set_rule ( world . get_location ( " Ossuary: 2nd reward " , player ) ,
lambda state : state . _blasphemous_bones_8 ( player ) )
set_rule ( world . get_location ( " Ossuary: 3rd reward " , player ) ,
lambda state : state . _blasphemous_bones_12 ( player ) )
set_rule ( world . get_location ( " Ossuary: 4th reward " , player ) ,
lambda state : state . _blasphemous_bones_16 ( player ) )
set_rule ( world . get_location ( " Ossuary: 5th reward " , player ) ,
lambda state : state . _blasphemous_bones_20 ( player ) )
set_rule ( world . get_location ( " Ossuary: 6th reward " , player ) ,
lambda state : state . _blasphemous_bones_24 ( player ) )
set_rule ( world . get_location ( " Ossuary: 7th reward " , player ) ,
lambda state : state . _blasphemous_bones_28 ( player ) )
set_rule ( world . get_location ( " Ossuary: 8th reward " , player ) ,
lambda state : state . _blasphemous_bones_32 ( player ) )
set_rule ( world . get_location ( " Ossuary: 9th reward " , player ) ,
lambda state : state . _blasphemous_bones_36 ( player ) )
set_rule ( world . get_location ( " Ossuary: 10th reward " , player ) ,
lambda state : state . _blasphemous_bones_40 ( player ) )
set_rule ( world . get_location ( " Ossuary: 11th reward " , player ) ,
lambda state : state . _blasphemous_bones_44 ( player ) )
# All the Tears of the Sea
set_rule ( world . get_location ( " AtTotS: Miriam ' s gift " , player ) ,
lambda state : state . _blasphemous_2_masks ( player ) and \
state . _blasphemous_fall_relic ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) )
# Archcathedral Rooftops
set_rule ( world . get_location ( " AR: Second soldier fight " , player ) ,
lambda state : state . _blasphemous_1_mask ( player ) )
set_rule ( world . get_location ( " AR: Third soldier fight " , player ) ,
lambda state : state . _blasphemous_2_masks ( player ) )
set_rule ( world . get_location ( " AR: Upper west shaft Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_1_mask ( player ) )
set_rule ( world . get_location ( " AR: Upper west shaft chest " , player ) ,
lambda state : state . _blasphemous_2_masks ( player ) and \
state . _blasphemous_fall_relic ( player ) and \
state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " AR: Lady of the Six Sorrows " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " AR: Upper east shaft ledge " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_root_relic ( player ) and \
state . _blasphemous_1_mask ( player ) )
set_rule ( world . get_location ( " AR: Mea Culpa altar " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_2_masks ( player ) )
set_rule ( world . get_location ( " AR: Crisanta of the Wrapped Agony " , player ) ,
lambda state : state . _blasphemous_3_masks ( player ) )
# Bridge of the Three Cavalries
set_rule ( world . get_location ( " BotTC: Esdras, of the Anointed Legion " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " BotTC: Esdras ' gift " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " BotTC: Inside giant statue " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_laudes_gate ( player ) and \
state . _blasphemous_1_mask ( player ) )
# Brotherhood of the Silent Sorrow
set_rule ( world . get_location ( " BotSS: Starting room Child of Moonlight " , player ) ,
lambda state : ( state . _blasphemous_blood_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) ) or \
( state . _blasphemous_fall_relic ( player ) ) ) or \
( state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_cherub_6 ( player ) ) or \
( state . _blasphemous_debla ( player ) or \
state . _blasphemous_taranto ( player ) ) )
set_rule ( world . get_location ( " BotSS: Starting room ledge " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_fall_relic ( player ) )
set_rule ( world . get_location ( " BotSS: Chamber of the Eldest Brother " , player ) ,
lambda state : state . _blasphemous_elder_key ( player ) )
set_rule ( world . get_location ( " BotSS: Blue candle " , player ) ,
lambda state : state . _blasphemous_blue_wax ( player ) )
set_rule ( world . get_location ( " BotSS: Outside church " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " BotSS: Esdras ' final gift " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_scapular ( player ) and \
state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " BotSS: Crisanta ' s gift " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_scapular ( player ) and \
state . _blasphemous_heart_c ( player ) and \
state . _blasphemous_3_masks ( player ) and \
state . _blasphemous_bridge_access ( player ) )
# Convent of our Lady of the Charred Visage
set_rule ( world . get_location ( " CoOLotCV: Lower west statue " , player ) ,
lambda state : state . _blasphemous_miasma_relic ( player ) )
set_rule ( world . get_location ( " CoOLotCV: Lady of the Six Sorrows " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_high_key ( player ) )
set_rule ( world . get_location ( " CoOLotCV: Red candle " , player ) ,
lambda state : state . _blasphemous_red_wax ( player ) )
set_rule ( world . get_location ( " CoOLotCV: Fountain of burning oil " , player ) ,
lambda state : state . _blasphemous_thimble ( player ) )
set_rule ( world . get_location ( " CoOLotCV: Mask room " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_high_key ( player ) )
# Desecrated Cistern
set_rule ( world . get_location ( " DC: Upper east tunnel chest " , player ) ,
lambda state : state . _blasphemous_water_relic ( player ) or \
state . _blasphemous_fall_relic ( player ) )
set_rule ( world . get_location ( " DC: Upper east Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_water_relic ( player ) or \
state . _blasphemous_fall_relic ( player ) or \
state . _blasphemous_cherub_13 ( player ) )
set_rule ( world . get_location ( " DC: Hidden alcove near fountain " , player ) ,
lambda state : state . _blasphemous_water_relic ( player ) )
set_rule ( world . get_location ( " DC: Shroud puzzle " , player ) ,
lambda state : state . _blasphemous_corpse_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) )
set_rule ( world . get_location ( " DC: Chalice room " , player ) ,
lambda state : ( state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) and \
state . _blasphemous_root_relic ( player ) ) or \
( state . _blasphemous_fall_relic ( player ) and \
state . _blasphemous_root_relic ( player ) ) )
set_rule ( world . get_location ( " DC: Mea Culpa altar " , player ) ,
lambda state : state . _blasphemous_chalice ( player ) and \
state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) and \
state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " DC: Child of Moonlight, behind pillar " , player ) ,
lambda state : state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) )
set_rule ( world . get_location ( " DC: High ledge near elevator shaft " , player ) ,
lambda state : state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) )
set_rule ( world . get_location ( " DC: Elevator shaft Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_fall_relic ( player ) or \
( state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) and \
state . _blasphemous_cherub_22_23_31_32 ( player ) ) )
set_rule ( world . get_location ( " DC: Elevator shaft ledge " , player ) ,
lambda state : state . _blasphemous_fall_relic ( player ) )
# Graveyard of the Peaks
set_rule ( world . get_location ( " GotP: Shop cave Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) or \
state . _blasphemous_fall_relic ( player ) or \
state . _blasphemous_cherub_22_23_31_32 ( player ) )
# to do: or dive
set_rule ( world . get_location ( " GotP: Shop cave hidden hole " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) or \
state . _blasphemous_open_holes ( player ) )
set_rule ( world . get_location ( " GotP: Upper east shaft " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " GotP: East cliffside " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " GotP: West shaft Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) or \
state . _blasphemous_cherub_25 ( player ) )
set_rule ( world . get_location ( " GotP: Center shaft Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_fall_relic ( player ) or \
state . _blasphemous_cherub_24_33 ( player ) )
# to do: requires dive
set_rule ( world . get_location ( " GotP: Amanecida of the Bejeweled Arrow " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) and \
state . _blasphemous_open_holes ( player ) )
# Grievance Ascends
set_rule ( world . get_location ( " GA: Lower west ledge " , player ) ,
lambda state : state . _blasphemous_miasma_relic ( player ) )
set_rule ( world . get_location ( " GA: Miasma room floor " , player ) ,
lambda state : state . _blasphemous_miasma_relic ( player ) )
set_rule ( world . get_location ( " GA: Oil of the Pilgrims " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " GA: End of blood bridge " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " GA: Blood bridge Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
( ( state . _blasphemous_aubade ( player ) and \
state . _blasphemous_ranged ( player ) ) or \
state . _blasphemous_cherub_21 ( player ) ) )
set_rule ( world . get_location ( " GA: Lower east Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_cherub_20 ( player ) )
set_rule ( world . get_location ( " GA: Altasgracias ' gift " , player ) ,
lambda state : state . _blasphemous_altasgracias_3 ( player ) )
set_rule ( world . get_location ( " GA: Empty giant egg " , player ) ,
lambda state : state . _blasphemous_altasgracias_3 ( player ) and \
state . _blasphemous_egg ( player ) )
# Hall of the Dawning
set_rule ( world . get_location ( " HotD: Laudes, the First of the Amanecidas " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_laudes_gate ( player ) )
# Jondo
set_rule ( world . get_location ( " Jondo: Upper east chest " , player ) ,
lambda state : state . _blasphemous_fall_relic ( player ) or \
state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " Jondo: Upper west tree root " , player ) ,
lambda state : state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) )
# Knot of the Three Words
set_rule ( world . get_location ( " KotTW: Gift from the Traitor " , player ) ,
lambda state : state . _blasphemous_wood_key ( player ) and \
state . _blasphemous_eyes ( player ) )
# Library of the Negated Words
set_rule ( world . get_location ( " LotNW: Root ceiling platform " , player ) ,
lambda state : state . _blasphemous_root_relic ( player ) )
# to do: requires dive (sometimes opens with other skills?)
set_rule ( world . get_location ( " LotNW: Hidden floor " , player ) ,
lambda state : state . _blasphemous_open_holes ( player ) )
set_rule ( world . get_location ( " LotNW: Miasma hallway chest " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) )
set_rule ( world . get_location ( " LotNW: Platform puzzle chest " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " LotNW: Elevator Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " LotNW: Red candle " , player ) ,
lambda state : state . _blasphemous_red_wax ( player ) )
set_rule ( world . get_location ( " LotNW: Twisted wood hidden wall " , player ) ,
lambda state : state . _blasphemous_wood_key ( player ) )
# Mercy Dreams
set_rule ( world . get_location ( " MD: Blue candle " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_blue_wax ( player ) )
set_rule ( world . get_location ( " MD: Cave Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_cherub_24_33 ( player ) )
set_rule ( world . get_location ( " MD: Behind gate to TSC " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) )
# Mother of Mothers
set_rule ( world . get_location ( " MoM: East chandelier platform " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) )
set_rule ( world . get_location ( " MoM: Redento ' s treasure " , player ) ,
lambda state : state . _blasphemous_redento ( player ) )
set_rule ( world . get_location ( " MoM: Final meeting with Redento " , player ) ,
lambda state : state . _blasphemous_redento ( player ) )
set_rule ( world . get_location ( " MoM: Giant chandelier statue " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) )
# Mountains of the Endless Dusk
set_rule ( world . get_location ( " MotED: Platform above chasm " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " MotED: Blood platform alcove " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " MotED: Egg hatching " , player ) ,
lambda state : state . _blasphemous_pre_egg ( player ) )
# to do: requires dive
set_rule ( world . get_location ( " MotED: Amanecida of the Golden Blades " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) )
# Mourning and Havoc
set_rule ( world . get_location ( " MaH: Upper east chest " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " MaH: Sierpes ' eye " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) and \
( state . _blasphemous_root_relic ( player ) ) or \
state . _blasphemous_water_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) )
set_rule ( world . get_location ( " MaH: Sierpes " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) and \
( state . _blasphemous_root_relic ( player ) ) or \
state . _blasphemous_water_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) )
# Patio of the Silent Steps
set_rule ( world . get_location ( " PotSS: Second area ledge " , player ) ,
lambda state : state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) or \
( state . _blasphemous_wheel ( player ) and \
state . _blasphemous_ranged ( player ) ) )
set_rule ( world . get_location ( " PotSS: Third area upper ledge " , player ) ,
lambda state : state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) )
set_rule ( world . get_location ( " PotSS: Climb to WotHP " , player ) ,
lambda state : ( state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) ) or \
( state . can_reach ( world . get_region ( " Wall of the Holy Prohibitions " , player ) ) and \
state . _blasphemous_bronze_key ( player ) ) )
# to do: requires dive
set_rule ( world . get_location ( " PotSS: Amanecida of the Chiselled Steel " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) )
# Petrous
# to do: requires dive
set_rule ( world . get_location ( " Petrous: Temple entrance " , player ) ,
lambda state : state . _blasphemous_open_holes ( player ) )
# The Sleeping Canvases
set_rule ( world . get_location ( " TSC: Candle wax puzzle " , player ) ,
lambda state : state . _blasphemous_both_wax ( player ) )
set_rule ( world . get_location ( " TSC: Under elevator shaft " , player ) ,
lambda state : state . _blasphemous_fall_relic ( player ) )
set_rule ( world . get_location ( " TSC: Jocinero ' s 1st reward " , player ) ,
lambda state : state . _blasphemous_cherubs_20 ( player ) )
set_rule ( world . get_location ( " TSC: Jocinero ' s final reward " , player ) ,
lambda state : state . _blasphemous_cherubs_all ( player ) )
# The Holy Line
set_rule ( world . get_location ( " THL: Across blood platforms " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " THL: Underground chest " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_water_relic ( player ) )
# Wall of the Holy Prohibitions
set_rule ( world . get_location ( " WotHP: Upper east room, top bronze cell " , player ) ,
lambda state : state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Upper east room, top silver cell " , player ) ,
lambda state : state . _blasphemous_silver_key ( player ) )
set_rule ( world . get_location ( " WotHP: Upper east room, center gold cell " , player ) ,
lambda state : state . _blasphemous_gold_key ( player ) )
set_rule ( world . get_location ( " WotHP: Upper west room, center gold cell " , player ) ,
lambda state : state . _blasphemous_gold_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Lower west room, bottom gold cell " , player ) ,
lambda state : state . _blasphemous_gold_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Upper west room, top silver cell " , player ) ,
lambda state : state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Lower west room, top ledge " , player ) ,
lambda state : state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Lower east room, hidden ledge " , player ) ,
lambda state : state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Lower east room, bottom silver cell " , player ) ,
lambda state : state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Lower east room, top bronze cell " , player ) ,
lambda state : state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Lower east room, top silver cell " , player ) ,
lambda state : state . _blasphemous_silver_key ( player ) )
set_rule ( world . get_location ( " WotHP: Outside Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Oil of the Pilgrims " , player ) ,
lambda state : state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Quirce, Returned By The Flames " , player ) ,
lambda state : state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Collapsing floor ledge " , player ) ,
lambda state : state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
set_rule ( world . get_location ( " WotHP: Amanecida of the Molten Thorn " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) )
# Wasteland of the Buried Churches
set_rule ( world . get_location ( " WotBC: Under broken bridge " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) )
set_rule ( world . get_location ( " WotBC: Cliffside Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_cherub_38 ( player ) )
# Where Olive Trees Wither
set_rule ( world . get_location ( " WOTW: Gift for the tomb " , player ) ,
lambda state : state . _blasphemous_full_thimble ( player ) )
set_rule ( world . get_location ( " WOTW: Underground tomb " , player ) ,
lambda state : state . _blasphemous_flowers ( player ) and \
( state . _blasphemous_full_thimble ( player ) or \
state . _blasphemous_fall_relic ( player ) ) )
set_rule ( world . get_location ( " WOTW: Underground Child of Moonlight " , player ) ,
lambda state : ( state . _blasphemous_full_thimble ( player ) or \
state . _blasphemous_fall_relic ( player ) ) and \
state . _blasphemous_cherub_27 ( player ) )
set_rule ( world . get_location ( " WOTW: Underground ledge " , player ) ,
lambda state : ( state . _blasphemous_full_thimble ( player ) or \
state . _blasphemous_fall_relic ( player ) ) and \
state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " WOTW: Upper east Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_cherub_22_23_31_32 ( player ) )
set_rule ( world . get_location ( " WOTW: Upper east statue " , player ) ,
lambda state : state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " WOTW: Gemino ' s reward " , player ) ,
lambda state : state . _blasphemous_full_thimble ( player ) )
# Various
set_rule ( world . get_location ( " Confessor Dungeon 1 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 1 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 2 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 2 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 3 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 3 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 4 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 4 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 5 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 5 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 6 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_bridge_access ( player ) and \
( state . _blasphemous_1_mask ( player ) or \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) ) )
set_rule ( world . get_location ( " Confessor Dungeon 6 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_bridge_access ( player ) and \
( state . _blasphemous_1_mask ( player ) or \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) ) )
set_rule ( world . get_location ( " Confessor Dungeon 7 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 7 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_blood_relic ( player ) )
# to do: requires dive
set_rule ( world . get_location ( " Defeat 1 Amanecida " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) )
set_rule ( world . get_location ( " Defeat 2 Amanecidas " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_bridge_access ( player ) ) )
set_rule ( world . get_location ( " Defeat 3 Amanecidas " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) and \
state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) or \
( state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) ) ) )
set_rule ( world . get_location ( " Defeat 4 Amanecidas " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) and \
state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) )
set_rule ( world . get_location ( " Defeat all Amanecidas " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) and \
state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) )
# expert logic
if world . expert_logic [ player ] :
# entrances
for i in world . get_region ( " Ferrous Tree " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_ex_bridge_access ( player ) )
for i in world . get_region ( " Mother of Mothers " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_ex_bridge_access ( player ) )
for i in world . get_region ( " Patio of the Silent Steps " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_ex_bridge_access ( player ) )
for i in world . get_region ( " The Sleeping Canvases " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_ex_bridge_access ( player ) )
for i in world . get_region ( " Wall of the Holy Prohibitions " , player ) . entrances :
set_rule ( i , lambda state : state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) )
# locations
set_rule ( world . get_location ( " AR: Upper west shaft chest " , player ) ,
lambda state : state . _blasphemous_2_masks ( player ) and \
state . _blasphemous_fall_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_ranged ( player ) ) )
set_rule ( world . get_location ( " BotTC: Esdras, of the Anointed Legion " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " BotTC: Esdras ' gift " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " BotTC: Inside giant statue " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_laudes_gate ( player ) and \
state . _blasphemous_1_mask ( player ) )
set_rule ( world . get_location ( " BotSS: Esdras ' final gift " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_scapular ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " BotSS: Crisanta ' s gift " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_scapular ( player ) and \
state . _blasphemous_heart_c ( player ) and \
state . _blasphemous_3_masks ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " CoOLotCV: Lady of the Six Sorrows " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_high_key ( player ) )
set_rule ( world . get_location ( " CoOLotCV: Mask room " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_high_key ( player ) )
set_rule ( world . get_location ( " DC: Chalice room " , player ) ,
lambda state : ( state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) or \
( state . _blasphemous_wheel ( player ) and \
state . _blasphemous_ranged ( player ) ) ) ) or \
( state . _blasphemous_fall_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_ranged ( player ) ) ) )
set_rule ( world . get_location ( " DC: Mea Culpa altar " , player ) ,
lambda state : state . _blasphemous_chalice ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
( state . _blasphemous_fall_relic ( player ) and \
( state . _blasphemous_ranged ( player ) or \
state . _blasphemous_root_relic ( player ) ) ) or \
( state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) or \
( state . _blasphemous_wheel ( player ) and \
state . _blasphemous_ranged ( player ) ) ) ) )
set_rule ( world . get_location ( " HotD: Laudes, the First of the Amanecidas " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_laudes_gate ( player ) )
set_rule ( world . get_location ( " LotNW: Elevator Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
( state . _blasphemous_cherub_22_23_31_32 ( player ) and \
state . _blasphemous_dawn_heart ( player ) and \
state . _blasphemous_ranged ( player ) ) or \
state . _blasphemous_root_relic ( player ) )
set_rule ( world . get_location ( " MD: Cave Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_cherub_24_33 ( player ) )
set_rule ( world . get_location ( " MD: Behind gate to TSC " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " MoM: East chandelier platform " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) or \
( state . _blasphemous_wheel ( player ) and \
state . _blasphemous_ranged ( player ) ) )
set_rule ( world . get_location ( " MaH: Upper east chest " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) and \
( state . _blasphemous_root_relic ( player ) ) or \
( state . _blasphemous_dawn_heart ( player ) and \
state . _blasphemous_ranged ( player ) ) )
set_rule ( world . get_location ( " MaH: Sierpes ' eye " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) and \
( state . _blasphemous_root_relic ( player ) ) or \
state . _blasphemous_dawn_heart ( player ) or \
state . _blasphemous_water_relic ( player ) or \
( state . _blasphemous_wheel ( player ) and \
state . _blasphemous_ranged ( player ) ) )
set_rule ( world . get_location ( " MaH: Sierpes " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) and \
( state . _blasphemous_root_relic ( player ) ) or \
state . _blasphemous_dawn_heart ( player ) or \
state . _blasphemous_water_relic ( player ) or \
( state . _blasphemous_wheel ( player ) and \
state . _blasphemous_ranged ( player ) ) )
set_rule ( world . get_location ( " PotSS: Third area upper ledge " , player ) ,
lambda state : state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) or \
( state . _blasphemous_wheel ( player ) and \
state . _blasphemous_ranged ( player ) ) )
set_rule ( world . get_location ( " WotBC: Under broken bridge " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) or \
( state . _blasphemous_wheel ( player ) and \
state . _blasphemous_ranged ( player ) ) )
set_rule ( world . get_location ( " Confessor Dungeon 5 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 5 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 6 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) and \
( state . _blasphemous_1_mask ( player ) or \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) ) )
set_rule ( world . get_location ( " Confessor Dungeon 6 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) and \
( state . _blasphemous_1_mask ( player ) or \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_bronze_key ( player ) ) )
set_rule ( world . get_location ( " Confessor Dungeon 7 extra " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " Confessor Dungeon 7 main " , player ) ,
lambda state : state . _blasphemous_bead ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) and \
state . _blasphemous_blood_relic ( player ) )
set_rule ( world . get_location ( " Defeat 2 Amanecidas " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_ex_bridge_access ( player ) ) )
set_rule ( world . get_location ( " Defeat 3 Amanecidas " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) or \
( state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) ) ) )
set_rule ( world . get_location ( " Defeat 4 Amanecidas " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) )
set_rule ( world . get_location ( " Defeat all Amanecidas " , player ) ,
lambda state : state . _blasphemous_bell ( player ) and \
state . _blasphemous_open_holes ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_root_relic ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_silver_key ( player ) )
# skill rando
if world . skill_randomizer [ player ] and not world . expert_logic [ player ] :
set_rule ( world . get_location ( " Skill 1, Tier 3 " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 5, Tier 3 " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 3, Tier 2 " , player ) ,
lambda state : state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 2, Tier 3 " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_2_masks ( player ) and \
state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 4, Tier 3 " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_2_masks ( player ) and \
state . _blasphemous_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 3, Tier 3 " , player ) ,
lambda state : state . _blasphemous_chalice ( player ) and \
state . _blasphemous_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) and \
state . _blasphemous_root_relic ( player ) )
elif world . skill_randomizer [ player ] and world . expert_logic [ player ] :
set_rule ( world . get_location ( " Skill 1, Tier 3 " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 5, Tier 3 " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 3, Tier 2 " , player ) ,
lambda state : state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 2, Tier 3 " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_2_masks ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 4, Tier 3 " , player ) ,
lambda state : state . _blasphemous_blood_relic ( player ) and \
state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_2_masks ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) )
set_rule ( world . get_location ( " Skill 3, Tier 3 " , player ) ,
lambda state : state . _blasphemous_chalice ( player ) and \
state . _blasphemous_ex_bridge_access ( player ) and \
state . _blasphemous_1_mask ( player ) and \
state . _blasphemous_bronze_key ( player ) and \
( state . _blasphemous_fall_relic ( player ) and \
( state . _blasphemous_ranged ( player ) or \
state . _blasphemous_root_relic ( player ) ) ) or \
( state . _blasphemous_miasma_relic ( player ) and \
state . _blasphemous_water_relic ( player ) and \
( state . _blasphemous_root_relic ( player ) or \
state . _blasphemous_dawn_heart ( player ) or \
( state . _blasphemous_wheel ( player ) and \
state . _blasphemous_ranged ( player ) ) ) ) )
# difficulty (easy)
if world . difficulty [ player ] . value == 0 :
for i in world . get_region ( " Desecrated Cistern " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_wound_boss_easy ( player ) )
for i in world . get_region ( " Ferrous Tree " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_esdras_boss_easy ( player ) )
for i in world . get_region ( " Patio of the Silent Steps " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_esdras_boss_easy ( player ) )
for i in world . get_region ( " The Sleeping Canvases " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_esdras_boss_easy ( player ) )
for i in world . get_region ( " Deambulatory of His Holiness " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " Albero: Donate 5000 Tears " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Albero: Donate 50000 Tears " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Albero: Tirso ' s final reward " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " Ossuary: Isidora, Voice of the Dead " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " AR: Crisanta of the Wrapped Agony " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " BotTC: Esdras, of the Anointed Legion " , player ) ,
lambda state : state . _blasphemous_esdras_boss_easy ( player ) )
add_rule ( world . get_location ( " BotTC: Esdras ' gift " , player ) ,
lambda state : state . _blasphemous_esdras_boss_easy ( player ) )
add_rule ( world . get_location ( " BotTC: Inside giant statue " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " BotSS: Crisanta ' s gift " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " CoOLotCV: Lady of the Six Sorrows " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " CoOLotCV: Mask room " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " GotP: Amanecida of the Bejeweled Arrow " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " HotD: Laudes, the First of the Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " LotNW: Elevator Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " LotNW: Mask room " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " LotNW: Mea Culpa altar " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " LotNW: Red candle " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " MD: Blue candle " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " MD: Cave Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " MD: Behind gate to TSC " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " MoM: Melquiades, The Exhumed Archbishop " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " MoM: Mask room " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " MotED: Amanecida of the Golden Blades " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " MaH: Sierpes ' eye " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " MaH: Sierpes " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " PotSS: Amanecida of the Chiselled Steel " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " TSC: Under elevator shaft " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " TSC: Exposito, Scion of Abjuration " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " WotHP: Quirce, Returned By The Flames " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " WotHP: Collapsing floor ledge " , player ) ,
lambda state : state . _blasphemous_mask_boss_easy ( player ) )
add_rule ( world . get_location ( " WotHP: Amanecida of the Molten Thorn " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 4 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 4 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 5 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 5 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 6 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 6 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 7 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 7 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_easy ( player ) )
add_rule ( world . get_location ( " Defeat 1 Amanecida " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " Defeat 2 Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " Defeat 3 Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " Defeat 4 Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
add_rule ( world . get_location ( " Defeat all Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_easy ( player ) )
# difficulty (normal)
elif world . difficulty [ player ] . value == 1 :
for i in world . get_region ( " Desecrated Cistern " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_wound_boss_normal ( player ) )
for i in world . get_region ( " Ferrous Tree " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_esdras_boss_normal ( player ) )
for i in world . get_region ( " Patio of the Silent Steps " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_esdras_boss_normal ( player ) )
for i in world . get_region ( " The Sleeping Canvases " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_esdras_boss_normal ( player ) )
for i in world . get_region ( " Deambulatory of His Holiness " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " Albero: Donate 5000 Tears " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Albero: Donate 50000 Tears " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Albero: Tirso ' s final reward " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " Ossuary: Isidora, Voice of the Dead " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " AR: Crisanta of the Wrapped Agony " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " BotTC: Esdras, of the Anointed Legion " , player ) ,
lambda state : state . _blasphemous_esdras_boss_normal ( player ) )
add_rule ( world . get_location ( " BotTC: Esdras ' gift " , player ) ,
lambda state : state . _blasphemous_esdras_boss_normal ( player ) )
add_rule ( world . get_location ( " BotTC: Inside giant statue " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " BotSS: Crisanta ' s gift " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " CoOLotCV: Lady of the Six Sorrows " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " CoOLotCV: Mask room " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " GotP: Amanecida of the Bejeweled Arrow " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " HotD: Laudes, the First of the Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " LotNW: Elevator Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " LotNW: Mask room " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " LotNW: Mea Culpa altar " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " LotNW: Red candle " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " MD: Blue candle " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " MD: Cave Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " MD: Behind gate to TSC " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " MoM: Melquiades, The Exhumed Archbishop " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " MoM: Mask room " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " MotED: Amanecida of the Golden Blades " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " MaH: Sierpes ' eye " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " MaH: Sierpes " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " PotSS: Amanecida of the Chiselled Steel " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " TSC: Under elevator shaft " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " TSC: Exposito, Scion of Abjuration " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " WotHP: Quirce, Returned By The Flames " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " WotHP: Collapsing floor ledge " , player ) ,
lambda state : state . _blasphemous_mask_boss_normal ( player ) )
add_rule ( world . get_location ( " WotHP: Amanecida of the Molten Thorn " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 4 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 4 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 5 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 5 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 6 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 6 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 7 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 7 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_normal ( player ) )
add_rule ( world . get_location ( " Defeat 1 Amanecida " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " Defeat 2 Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " Defeat 3 Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " Defeat 4 Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
add_rule ( world . get_location ( " Defeat all Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_normal ( player ) )
# difficulty (hard)
elif world . difficulty [ player ] . value == 2 :
for i in world . get_region ( " Desecrated Cistern " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_wound_boss_hard ( player ) )
for i in world . get_region ( " Ferrous Tree " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_esdras_boss_hard ( player ) )
for i in world . get_region ( " Patio of the Silent Steps " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_esdras_boss_hard ( player ) )
for i in world . get_region ( " The Sleeping Canvases " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_esdras_boss_hard ( player ) )
for i in world . get_region ( " Deambulatory of His Holiness " , player ) . entrances :
add_rule ( i , lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " Albero: Donate 5000 Tears " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Albero: Donate 50000 Tears " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Albero: Tirso ' s final reward " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " Ossuary: Isidora, Voice of the Dead " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " AR: Crisanta of the Wrapped Agony " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " BotTC: Esdras, of the Anointed Legion " , player ) ,
lambda state : state . _blasphemous_esdras_boss_hard ( player ) )
add_rule ( world . get_location ( " BotTC: Esdras ' gift " , player ) ,
lambda state : state . _blasphemous_esdras_boss_hard ( player ) )
add_rule ( world . get_location ( " BotTC: Inside giant statue " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " BotSS: Crisanta ' s gift " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " CoOLotCV: Lady of the Six Sorrows " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " CoOLotCV: Mask room " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " GotP: Amanecida of the Bejeweled Arrow " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " HotD: Laudes, the First of the Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " LotNW: Elevator Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " LotNW: Mask room " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " LotNW: Mea Culpa altar " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " LotNW: Red candle " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " MD: Blue candle " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " MD: Cave Child of Moonlight " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " MD: Behind gate to TSC " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " MoM: Melquiades, The Exhumed Archbishop " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " MoM: Mask room " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " MotED: Amanecida of the Golden Blades " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " MaH: Sierpes ' eye " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " MaH: Sierpes " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " PotSS: Amanecida of the Chiselled Steel " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " TSC: Under elevator shaft " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " TSC: Exposito, Scion of Abjuration " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " WotHP: Quirce, Returned By The Flames " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " WotHP: Collapsing floor ledge " , player ) ,
lambda state : state . _blasphemous_mask_boss_hard ( player ) )
add_rule ( world . get_location ( " WotHP: Amanecida of the Molten Thorn " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 4 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 4 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 5 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 5 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 6 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 6 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 7 extra " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Confessor Dungeon 7 main " , player ) ,
lambda state : state . _blasphemous_wound_boss_hard ( player ) )
add_rule ( world . get_location ( " Defeat 1 Amanecida " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " Defeat 2 Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " Defeat 3 Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " Defeat 4 Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )
add_rule ( world . get_location ( " Defeat all Amanecidas " , player ) ,
lambda state : state . _blasphemous_endgame_boss_hard ( player ) )