| 
									
										
										
										
											2024-09-08 11:50:08 -05:00
										 |  |  | from Options import Choice, Range, Toggle, DeathLink, DefaultOnToggle, OptionSet, PerGameCommonOptions | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-08 11:50:08 -05:00
										 |  |  | from dataclasses import dataclass | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class StartingGender(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the gender of your initial 'Sir Lee' character. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Starting Gender" | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  |     option_sir = 0 | 
					
						
							|  |  |  |     option_lady = 1 | 
					
						
							|  |  |  |     alias_male = 0 | 
					
						
							|  |  |  |     alias_female = 1 | 
					
						
							| 
									
										
										
										
											2022-06-12 05:48:52 +00:00
										 |  |  |     default = "random" | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class StartingClass(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the starting class of your initial 'Sir Lee' character. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Starting Class" | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  |     option_knight = 0 | 
					
						
							|  |  |  |     option_mage = 1 | 
					
						
							|  |  |  |     option_barbarian = 2 | 
					
						
							|  |  |  |     option_knave = 3 | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     option_shinobi = 4 | 
					
						
							|  |  |  |     option_miner = 5 | 
					
						
							|  |  |  |     option_spellthief = 6 | 
					
						
							|  |  |  |     option_lich = 7 | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class NewGamePlus(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Puts the castle in new game plus mode which vastly increases enemy level, but increases gold gain by 50%. Not | 
					
						
							|  |  |  |     recommended for those inexperienced to Rogue Legacy! | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "New Game Plus" | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  |     option_normal = 0 | 
					
						
							|  |  |  |     option_new_game_plus = 1 | 
					
						
							|  |  |  |     option_new_game_plus_2 = 2 | 
					
						
							|  |  |  |     alias_hard = 1 | 
					
						
							|  |  |  |     alias_brutal = 2 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | class LevelScaling(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     A percentage modifier for scaling enemy level as you continue throughout the castle. 100 means enemies will have | 
					
						
							|  |  |  |     100% level scaling (normal). Setting this too high will result in enemies with absurdly high levels, you have been | 
					
						
							|  |  |  |     warned. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Enemy Level Scaling Percentage" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 1 | 
					
						
							|  |  |  |     range_end = 300 | 
					
						
							|  |  |  |     default = 100 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | class FairyChestsPerZone(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Fairy Chests in a given zone that contain items. After these have been checked, only stat | 
					
						
							|  |  |  |     bonuses can be found in Fairy Chests. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Fairy Chests Per Zone" | 
					
						
							| 
									
										
										
										
											2022-10-29 22:15:06 -05:00
										 |  |  |     range_start = 0 | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  |     range_end = 15 | 
					
						
							| 
									
										
										
										
											2022-10-29 22:15:06 -05:00
										 |  |  |     default = 1 | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ChestsPerZone(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Non-Fairy Chests in a given zone that contain items. After these have been checked, only | 
					
						
							|  |  |  |     gold or stat bonuses can be found in Chests. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Chests Per Zone" | 
					
						
							| 
									
										
										
										
											2022-10-29 22:15:06 -05:00
										 |  |  |     range_start = 20 | 
					
						
							|  |  |  |     range_end = 50 | 
					
						
							|  |  |  |     default = 20 | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | class UniversalFairyChests(Toggle): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines if fairy chests should be combined into one pool instead of per zone, similar to Risk of Rain 2. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Universal Fairy Chests" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class UniversalChests(Toggle): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines if non-fairy chests should be combined into one pool instead of per zone, similar to Risk of Rain 2. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Universal Non-Fairy Chests" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | class Vendors(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines where to place the Blacksmith and Enchantress unlocks in logic (or start with them unlocked). | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Vendors" | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  |     option_start_unlocked = 0 | 
					
						
							|  |  |  |     option_early = 1 | 
					
						
							|  |  |  |     option_normal = 2 | 
					
						
							|  |  |  |     option_anywhere = 3 | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | class Architect(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines where the Architect sits in the item pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Architect" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     option_start_unlocked = 0 | 
					
						
							| 
									
										
										
										
											2022-10-29 22:15:06 -05:00
										 |  |  |     option_early = 1 | 
					
						
							|  |  |  |     option_anywhere = 2 | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     option_disabled = 3 | 
					
						
							| 
									
										
										
										
											2022-10-29 22:15:06 -05:00
										 |  |  |     alias_normal = 2 | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     default = 2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ArchitectFee(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines how large of a percentage the architect takes from the player when utilizing his services. 100 means he | 
					
						
							|  |  |  |     takes all your gold. 0 means his services are free. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Architect Fee Percentage" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 100 | 
					
						
							|  |  |  |     default = 40 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | class DisableCharon(Toggle): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Prevents Charon from taking your money when you re-enter the castle. Also removes Haggling from the Item Pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Disable Charon" | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RequirePurchasing(DefaultOnToggle): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines where you will be required to purchase equipment and runes from the Blacksmith and Enchantress before | 
					
						
							|  |  |  |     equipping them. If you disable require purchasing, Manor Renovations are scaled to take this into account. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Require Purchasing" | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | class ProgressiveBlueprints(Toggle): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Instead of shuffling blueprints randomly into the pool, blueprint unlocks are progressively unlocked. You would get | 
					
						
							|  |  |  |     Squire first, then Knight, etc., until finally Dark. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Progressive Blueprints" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  | class GoldGainMultiplier(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Adjusts the multiplier for gaining gold from all sources. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Gold Gain Multiplier" | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  |     option_normal = 0 | 
					
						
							|  |  |  |     option_quarter = 1 | 
					
						
							|  |  |  |     option_half = 2 | 
					
						
							|  |  |  |     option_double = 3 | 
					
						
							|  |  |  |     option_quadruple = 4 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class NumberOfChildren(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of offspring you can choose from on the lineage screen after a death. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Number of Children" | 
					
						
							| 
									
										
										
										
											2022-01-03 18:12:32 +00:00
										 |  |  |     range_start = 1 | 
					
						
							|  |  |  |     range_end = 5 | 
					
						
							|  |  |  |     default = 3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-08 13:57:09 -04:00
										 |  |  | class AdditionalLadyNames(OptionSet): | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     """
 | 
					
						
							|  |  |  |     Set of additional names your potential offspring can have. If Allow Default Names is disabled, this is the only list | 
					
						
							|  |  |  |     of names your children can have. The first value will also be your initial character's name depending on Starting | 
					
						
							|  |  |  |     Gender. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-08 13:57:09 -04:00
										 |  |  |     display_name = "Additional Lady Names" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AdditionalSirNames(OptionSet): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Set of additional names your potential offspring can have. If Allow Default Names is disabled, this is the only list | 
					
						
							|  |  |  |     of names your children can have. The first value will also be your initial character's name depending on Starting | 
					
						
							|  |  |  |     Gender. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     display_name = "Additional Sir Names" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AllowDefaultNames(DefaultOnToggle): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines if the default names defined in the vanilla game are allowed to be used. Warning: Your world will not | 
					
						
							|  |  |  |     generate if the number of Additional Names defined is less than the Number of Children value. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-02-02 16:29:29 +01:00
										 |  |  |     display_name = "Allow Default Names" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CastleScaling(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Adjusts the scaling factor for how big a castle can be. Larger castles scale enemies quicker and also take longer | 
					
						
							|  |  |  |     to generate. 100 means normal castle size. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Castle Size Scaling Percentage" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 50 | 
					
						
							|  |  |  |     range_end = 300 | 
					
						
							|  |  |  |     default = 100 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ChallengeBossKhidr(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines if Neo Khidr replaces Khidr in their boss room. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Khidr" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_challenge = 1 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ChallengeBossAlexander(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines if Alexander the IV replaces Alexander in their boss room. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Alexander" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_challenge = 1 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ChallengeBossLeon(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines if Ponce de Freon replaces Ponce de Leon in their boss room. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Ponce de Leon" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_challenge = 1 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ChallengeBossHerodotus(Choice): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines if Astrodotus replaces Herodotus in their boss room. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Herodotus" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_challenge = 1 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class HealthUpPool(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Health Ups in the item pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Health Up Pool" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 15 | 
					
						
							|  |  |  |     default = 15 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ManaUpPool(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Mana Ups in the item pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Mana Up Pool" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 15 | 
					
						
							|  |  |  |     default = 15 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AttackUpPool(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Attack Ups in the item pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Attack Up Pool" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 15 | 
					
						
							|  |  |  |     default = 15 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MagicDamageUpPool(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Magic Damage Ups in the item pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Magic Damage Up Pool" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 15 | 
					
						
							|  |  |  |     default = 15 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ArmorUpPool(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Armor Ups in the item pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Armor Up Pool" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 10 | 
					
						
							|  |  |  |     default = 10 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class EquipUpPool(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Equip Ups in the item pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Equip Up Pool" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 10 | 
					
						
							|  |  |  |     default = 10 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CritChanceUpPool(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Crit Chance Ups in the item pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Crit Chance Up Pool" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 5 | 
					
						
							|  |  |  |     default = 5 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CritDamageUpPool(Range): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Determines the number of Crit Damage Ups in the item pool. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Crit Damage Up Pool" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 5 | 
					
						
							|  |  |  |     default = 5 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class FreeDiaryOnGeneration(DefaultOnToggle): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Allows the player to get a free diary check every time they regenerate the castle in the starting room. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     display_name = "Free Diary On Generation" | 
					
						
							| 
									
										
										
										
											2022-01-26 16:35:56 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  | class AvailableClasses(OptionSet): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     List of classes that will be in the item pool to find. The upgraded form of the class will be added with it. | 
					
						
							|  |  |  |     The upgraded form of your starting class will be available regardless. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     display_name = "Available Classes" | 
					
						
							| 
									
										
										
										
											2024-09-08 11:50:08 -05:00
										 |  |  |     default = frozenset( | 
					
						
							|  |  |  |         {"Knight", "Mage", "Barbarian", "Knave", "Shinobi", "Miner", "Spellthief", "Lich", "Dragon", "Traitor"} | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2022-03-15 21:31:14 -04:00
										 |  |  |     valid_keys = {"Knight", "Mage", "Barbarian", "Knave", "Shinobi", "Miner", "Spellthief", "Lich", "Dragon", "Traitor"} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-29 22:15:06 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-08 11:50:08 -05:00
										 |  |  | @dataclass | 
					
						
							|  |  |  | class RLOptions(PerGameCommonOptions): | 
					
						
							|  |  |  |     starting_gender: StartingGender | 
					
						
							|  |  |  |     starting_class: StartingClass | 
					
						
							|  |  |  |     available_classes: AvailableClasses | 
					
						
							|  |  |  |     new_game_plus: NewGamePlus | 
					
						
							|  |  |  |     fairy_chests_per_zone: FairyChestsPerZone | 
					
						
							|  |  |  |     chests_per_zone: ChestsPerZone | 
					
						
							|  |  |  |     universal_fairy_chests: UniversalFairyChests | 
					
						
							|  |  |  |     universal_chests: UniversalChests | 
					
						
							|  |  |  |     vendors: Vendors | 
					
						
							|  |  |  |     architect: Architect | 
					
						
							|  |  |  |     architect_fee: ArchitectFee | 
					
						
							|  |  |  |     disable_charon: DisableCharon | 
					
						
							|  |  |  |     require_purchasing: RequirePurchasing | 
					
						
							|  |  |  |     progressive_blueprints: ProgressiveBlueprints | 
					
						
							|  |  |  |     gold_gain_multiplier: GoldGainMultiplier | 
					
						
							|  |  |  |     number_of_children: NumberOfChildren | 
					
						
							|  |  |  |     free_diary_on_generation: FreeDiaryOnGeneration | 
					
						
							|  |  |  |     khidr: ChallengeBossKhidr | 
					
						
							|  |  |  |     alexander: ChallengeBossAlexander | 
					
						
							|  |  |  |     leon: ChallengeBossLeon | 
					
						
							|  |  |  |     herodotus: ChallengeBossHerodotus | 
					
						
							|  |  |  |     health_pool: HealthUpPool | 
					
						
							|  |  |  |     mana_pool: ManaUpPool | 
					
						
							|  |  |  |     attack_pool: AttackUpPool | 
					
						
							|  |  |  |     magic_damage_pool: MagicDamageUpPool | 
					
						
							|  |  |  |     armor_pool: ArmorUpPool | 
					
						
							|  |  |  |     equip_pool: EquipUpPool | 
					
						
							|  |  |  |     crit_chance_pool: CritChanceUpPool | 
					
						
							|  |  |  |     crit_damage_pool: CritDamageUpPool | 
					
						
							|  |  |  |     allow_default_names: AllowDefaultNames | 
					
						
							| 
									
										
										
										
											2024-09-08 13:57:09 -04:00
										 |  |  |     additional_lady_names: AdditionalLadyNames | 
					
						
							|  |  |  |     additional_sir_names: AdditionalSirNames | 
					
						
							| 
									
										
										
										
											2024-09-08 11:50:08 -05:00
										 |  |  |     death_link: DeathLink |