| 
									
										
										
										
											2023-02-23 23:33:09 -07:00
										 |  |  | from Options import Choice, Toggle, DefaultOnToggle, DeathLink | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class PrieDieuWarp(DefaultOnToggle): | 
					
						
							|  |  |  |     """Automatically unlocks the ability to warp between Prie Dieu shrines.""" | 
					
						
							|  |  |  |     display_name = "Unlock Fast Travel" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SkipCutscenes(DefaultOnToggle): | 
					
						
							|  |  |  |     """Automatically skips most cutscenes.""" | 
					
						
							|  |  |  |     display_name = "Auto Skip Cutscenes" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CorpseHints(DefaultOnToggle): | 
					
						
							|  |  |  |     """Changes the 34 corpses in game to give various hints about item locations.""" | 
					
						
							|  |  |  |     display_name = "Corpse Hints" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Difficulty(Choice): | 
					
						
							|  |  |  |     """Adjusts the logic required to defeat bosses.
 | 
					
						
							|  |  |  |     Impossible: Removes all logic requirements for bosses. Good luck."""
 | 
					
						
							|  |  |  |     display_name = "Difficulty" | 
					
						
							|  |  |  |     option_easy = 0 | 
					
						
							|  |  |  |     option_normal = 1 | 
					
						
							|  |  |  |     option_hard = 2 | 
					
						
							|  |  |  |     option_impossible = 3 | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Penitence(Toggle): | 
					
						
							|  |  |  |     """Allows one of the three Penitences to be chosen at the beginning of the game.""" | 
					
						
							|  |  |  |     display_name = "Penitence" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ExpertLogic(Toggle): | 
					
						
							|  |  |  |     """Expands the logic used by the randomizer to allow for some difficult and/or lesser known tricks.""" | 
					
						
							|  |  |  |     display_name = "Expert Logic" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Ending(Choice): | 
					
						
							| 
									
										
										
										
											2023-03-25 12:37:25 -06:00
										 |  |  |     """Choose which ending is required to complete the game.
 | 
					
						
							|  |  |  |     Ending A: Collect all thorn upgrades. | 
					
						
							|  |  |  |     Ending C: Collect all thorn upgrades and the Holy Wound of Abnegation."""
 | 
					
						
							| 
									
										
										
										
											2023-02-23 23:33:09 -07:00
										 |  |  |     display_name = "Ending" | 
					
						
							|  |  |  |     option_any_ending = 0 | 
					
						
							| 
									
										
										
										
											2023-03-25 12:37:25 -06:00
										 |  |  |     option_ending_a = 1 | 
					
						
							| 
									
										
										
										
											2023-02-23 23:33:09 -07:00
										 |  |  |     option_ending_c = 2 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ThornShuffle(Choice): | 
					
						
							|  |  |  |     """Shuffles the Thorn given by Deogracias and all Thorn upgrades into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Thorn" | 
					
						
							|  |  |  |     option_anywhere = 0 | 
					
						
							|  |  |  |     option_local_only = 1 | 
					
						
							|  |  |  |     option_vanilla = 2 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ReliquaryShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Adds the True Torment exclusive Reliquary rosary beads into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Penitence Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CherubShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles Children of Moonlight into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Children of Moonlight" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class LifeShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles life upgrades from the Lady of the Six Sorrows into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Life Upgrades" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class FervourShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles fervour upgrades from the Oil of the Pilgrims into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Fervour Upgrades" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SwordShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles Mea Culpa upgrades from the Mea Culpa Altars into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Mea Culpa Upgrades" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BlessingShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles blessings from the Lake of Silent Pilgrims into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Blessings" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class DungeonShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles rewards from completing Confessor Dungeons into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Dungeon Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TirsoShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles rewards from delivering herbs to Tirso into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Tirso's Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MiriamShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the prayer given by Miriam into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Miriram's Reward" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RedentoShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles rewards from assisting Redento into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Redento's Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class JocineroShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles rewards from rescuing 20 and 38 Children of Moonlight into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Jocinero's Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AltasgraciasShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the reward given by Altasgracias and the item left behind by them into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Altasgracias' Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TentudiaShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the rewards from delivering Tentudia's remains to Lvdovico into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Lvdovico's Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class GeminoShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the rewards from Gemino's quest and the hidden tomb into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Gemino's Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class GuiltShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the Weight of True Guilt into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Immaculate Bead" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class OssuaryShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the rewards from delivering bones to the Ossuary into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Ossuary Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BossShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the Tears of Atonement from defeating bosses into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Boss Tears" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class WoundShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the Holy Wounds required to pass the Bridge of the Three Cavalries into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Holy Wounds" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MaskShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the masks required to use the elevator in Archcathedral Rooftops into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Masks" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class EyeShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the Eyes of the Traitor from defeating Isidora and Sierpes into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Traitor's Eyes" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class HerbShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the herbs required for Tirso's quest into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Herbs" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ChurchShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the rewards from donating 5,000 and 50,000 Tears of Atonement to the Church in Albero into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Donation Rewards" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ShopShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the items sold in Candelaria's shops into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Shop Items" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CandleShuffle(DefaultOnToggle): | 
					
						
							|  |  |  |     """Shuffles the Beads of Wax and their upgrades into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Shuffle Candles" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class StartWheel(Toggle): | 
					
						
							|  |  |  |     """Changes the beginning gift to The Young Mason's Wheel.""" | 
					
						
							|  |  |  |     display_name = "Start with Wheel" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SkillRando(Toggle): | 
					
						
							|  |  |  |     """Randomizes the abilities from the skill tree into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Skill Randomizer" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class EnemyRando(Choice): | 
					
						
							|  |  |  |     """Randomizes the enemies that appear in each room.
 | 
					
						
							|  |  |  |     Shuffled: Enemies will be shuffled amongst each other, but can only appear as many times as they do in a standard game. | 
					
						
							|  |  |  |     Randomized: Every enemy is completely random, and can appear any number of times. | 
					
						
							|  |  |  |     Some enemies will never be randomized."""
 | 
					
						
							|  |  |  |     display_name = "Enemy Randomizer" | 
					
						
							|  |  |  |     option_disabled = 0 | 
					
						
							|  |  |  |     option_shuffled = 1 | 
					
						
							|  |  |  |     option_randomized = 2 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class EnemyGroups(DefaultOnToggle): | 
					
						
							|  |  |  |     """Randomized enemies will chosen from sets of specific groups. 
 | 
					
						
							|  |  |  |     (Weak, normal, large, flying) | 
					
						
							|  |  |  |     Has no effect if Enemy Randomizer is disabled."""
 | 
					
						
							|  |  |  |     display_name = "Enemy Groups" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class EnemyScaling(DefaultOnToggle): | 
					
						
							|  |  |  |     """Randomized enemies will have their stats increased or decreased depending on the area they appear in.
 | 
					
						
							|  |  |  |     Has no effect if Enemy Randomizer is disabled."""
 | 
					
						
							|  |  |  |     display_name = "Enemy Scaling" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BlasphemousDeathLink(DeathLink): | 
					
						
							|  |  |  |     """When you die, everyone dies. The reverse is also true.
 | 
					
						
							|  |  |  |     Note that Guilt Fragments will not appear when killed by Death Link."""
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | blasphemous_options = { | 
					
						
							|  |  |  |     "prie_dieu_warp": PrieDieuWarp, | 
					
						
							|  |  |  |     "skip_cutscenes": SkipCutscenes, | 
					
						
							|  |  |  |     "corpse_hints": CorpseHints, | 
					
						
							|  |  |  |     "difficulty": Difficulty, | 
					
						
							|  |  |  |     "penitence": Penitence, | 
					
						
							|  |  |  |     "expert_logic": ExpertLogic, | 
					
						
							|  |  |  |     "ending": Ending, | 
					
						
							|  |  |  |     "thorn_shuffle" : ThornShuffle, | 
					
						
							|  |  |  |     "reliquary_shuffle": ReliquaryShuffle, | 
					
						
							|  |  |  |     "cherub_shuffle" : CherubShuffle, | 
					
						
							|  |  |  |     "life_shuffle" : LifeShuffle, | 
					
						
							|  |  |  |     "fervour_shuffle" : FervourShuffle, | 
					
						
							|  |  |  |     "sword_shuffle" : SwordShuffle, | 
					
						
							|  |  |  |     "blessing_shuffle" : BlessingShuffle, | 
					
						
							|  |  |  |     "dungeon_shuffle" : DungeonShuffle, | 
					
						
							|  |  |  |     "tirso_shuffle" : TirsoShuffle, | 
					
						
							|  |  |  |     "miriam_shuffle" : MiriamShuffle, | 
					
						
							|  |  |  |     "redento_shuffle" : RedentoShuffle, | 
					
						
							|  |  |  |     "jocinero_shuffle" : JocineroShuffle, | 
					
						
							|  |  |  |     "altasgracias_shuffle" : AltasgraciasShuffle, | 
					
						
							|  |  |  |     "tentudia_shuffle" : TentudiaShuffle, | 
					
						
							|  |  |  |     "gemino_shuffle" : GeminoShuffle, | 
					
						
							|  |  |  |     "guilt_shuffle" : GuiltShuffle, | 
					
						
							|  |  |  |     "ossuary_shuffle" : OssuaryShuffle, | 
					
						
							|  |  |  |     "boss_shuffle" : BossShuffle, | 
					
						
							|  |  |  |     "wound_shuffle" : WoundShuffle, | 
					
						
							|  |  |  |     "mask_shuffle" : MaskShuffle, | 
					
						
							|  |  |  |     "eye_shuffle": EyeShuffle, | 
					
						
							|  |  |  |     "herb_shuffle" : HerbShuffle, | 
					
						
							|  |  |  |     "church_shuffle" : ChurchShuffle, | 
					
						
							|  |  |  |     "shop_shuffle" : ShopShuffle, | 
					
						
							|  |  |  |     "candle_shuffle" : CandleShuffle, | 
					
						
							|  |  |  |     "start_wheel": StartWheel, | 
					
						
							|  |  |  |     "skill_randomizer": SkillRando, | 
					
						
							|  |  |  |     "enemy_randomizer": EnemyRando, | 
					
						
							|  |  |  |     "enemy_groups": EnemyGroups, | 
					
						
							|  |  |  |     "enemy_scaling": EnemyScaling, | 
					
						
							|  |  |  |     "death_link": BlasphemousDeathLink | 
					
						
							|  |  |  | } |