| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | from Options import Toggle, Choice, Range, SpecialRange, TextChoice, DeathLink | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class GameVersion(Choice): | 
					
						
							|  |  |  |     """Select Red or Blue version.""" | 
					
						
							|  |  |  |     display_name = "Game Version" | 
					
						
							|  |  |  |     option_red = 1 | 
					
						
							|  |  |  |     option_blue = 0 | 
					
						
							|  |  |  |     default = "random" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | class TrainerName(TextChoice): | 
					
						
							|  |  |  |     """Your trainer name. If not set to choose_in_game, must be a name not exceeding 7 characters, and the prompt to
 | 
					
						
							|  |  |  |     name your character in-game will be skipped. See the setup guide on archipelago.gg for a list of allowed characters."""
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Trainer Name" | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     option_choose_in_game = -1 | 
					
						
							|  |  |  |     default = -1 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | class RivalName(TextChoice): | 
					
						
							|  |  |  |     """Your rival's name. If not set to choose_in_game, must be a name not exceeding 7 characters, and the prompt to
 | 
					
						
							|  |  |  |     name your rival in-game will be skipped. See the setup guide on archipelago.gg for a list of allowed characters."""
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Rival's Name" | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     option_choose_in_game = -1 | 
					
						
							|  |  |  |     default = -1 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Goal(Choice): | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     """If Professor Oak is selected, your victory condition will require challenging and defeating Oak after becoming
 | 
					
						
							|  |  |  |     Champion and defeating or capturing the Pokemon at the end of Cerulean Cave."""
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Goal" | 
					
						
							|  |  |  |     option_pokemon_league = 0 | 
					
						
							|  |  |  |     option_professor_oak = 1 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class EliteFourCondition(Range): | 
					
						
							|  |  |  |     """Number of badges required to challenge the Elite Four once the Indigo Plateau has been reached.
 | 
					
						
							|  |  |  |     Your rival will reveal the amount needed on the first Route 22 battle (after turning in Oak's Parcel).""" | 
					
						
							|  |  |  |     display_name = "Elite Four Condition" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 8 | 
					
						
							|  |  |  |     default = 8 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class VictoryRoadCondition(Range): | 
					
						
							|  |  |  |     """Number of badges required to reach Victory Road.""" | 
					
						
							|  |  |  |     display_name = "Victory Road Condition" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 8 | 
					
						
							|  |  |  |     default = 8 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ViridianGymCondition(Range): | 
					
						
							|  |  |  |     """Number of badges required to enter Viridian Gym.""" | 
					
						
							|  |  |  |     display_name = "Viridian Gym Condition" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 7 | 
					
						
							|  |  |  |     default = 7 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CeruleanCaveCondition(Range): | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     """Number of badges, HMs, and key items (not counting items you can lose) required to access Cerulean Cave.
 | 
					
						
							|  |  |  |     If extra_key_items is turned on, the number chosen will be increased by 4."""
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Cerulean Cave Condition" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  |     range_end = 26 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     default = 20 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SecondFossilCheckCondition(Range): | 
					
						
							|  |  |  |     """After choosing one of the fossil location items, you can obtain the remaining item from the Cinnabar Lab
 | 
					
						
							|  |  |  |     Scientist after reviving this number of fossils."""
 | 
					
						
							|  |  |  |     display_name = "Second Fossil Check Condition" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 3 | 
					
						
							|  |  |  |     default = 3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BadgeSanity(Toggle): | 
					
						
							|  |  |  |     """Shuffle gym badges into the general item pool. If turned off, badges will be shuffled across the 8 gyms.""" | 
					
						
							|  |  |  |     display_name = "Badgesanity" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BadgesNeededForHMMoves(Choice): | 
					
						
							| 
									
										
										
										
											2022-11-01 02:02:15 -04:00
										 |  |  |     """Off will remove the requirement for badges to use HM moves. Extra will give the Marsh, Volcano, and Earth Badges
 | 
					
						
							|  |  |  |     a random HM move to enable. Extra Plus will additionally pick two random badges to enable a second HM move. | 
					
						
							|  |  |  |     You will only need one of the required badges to use the HM move."""
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Badges Needed For HM Moves" | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  |     option_on = 1 | 
					
						
							|  |  |  |     alias_true = 1 | 
					
						
							|  |  |  |     option_off = 0 | 
					
						
							|  |  |  |     alias_false = 0 | 
					
						
							|  |  |  |     option_extra = 2 | 
					
						
							|  |  |  |     option_extra_plus = 3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class OldMan(Choice): | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     """With Open Viridian City, the Old Man will let you through without needing to turn in Oak's Parcel.
 | 
					
						
							|  |  |  |     Early Parcel will ensure Oak's Parcel is available at the beginning of your game.""" | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Old Man" | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_early_parcel = 1 | 
					
						
							|  |  |  |     option_open_viridian_city = 2 | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | class RandomizePokedex(Choice): | 
					
						
							|  |  |  |     """Randomize the location of the Pokedex, or start with it. It is required to receive items from Oak's Aides.""" | 
					
						
							|  |  |  |     display_name = "Randomize Pokedex" | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_randomize = 1 | 
					
						
							|  |  |  |     option_start_with = 2 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | class Tea(Toggle): | 
					
						
							|  |  |  |     """Adds a Tea item to the item pool which the Saffron guards require instead of the vending machine drinks.
 | 
					
						
							|  |  |  |     Adds a location check to the Celadon Mansion 1F, where Tea is acquired in FireRed and LeafGreen."""
 | 
					
						
							|  |  |  |     display_name = "Tea" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ExtraKeyItems(Toggle): | 
					
						
							|  |  |  |     """Adds key items that are required to access the Rocket Hideout, Cinnabar Mansion, Safari Zone, and Power Plant.
 | 
					
						
							|  |  |  |     Adds four item pickups to Rock Tunnel B1F."""
 | 
					
						
							|  |  |  |     display_name = "Extra Key Items" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ExtraStrengthBoulders(Toggle): | 
					
						
							|  |  |  |     """Adds Strength Boulders blocking the Route 11 gate, and in Route 13 (can be bypassed with Surf).
 | 
					
						
							|  |  |  |     This potentially increases the usefulness of Strength as well as the Bicycle."""
 | 
					
						
							|  |  |  |     display_name = "Extra Strength Boulders" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RequireItemFinder(Toggle): | 
					
						
							|  |  |  |     """Require Item Finder to pick up hidden items.""" | 
					
						
							|  |  |  |     display_name = "Require Item Finder" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RandomizeHiddenItems(Choice): | 
					
						
							|  |  |  |     """Randomize hidden items. If you choose exclude, they will be randomized but will be guaranteed junk items.""" | 
					
						
							|  |  |  |     display_name = "Randomize Hidden Items" | 
					
						
							|  |  |  |     option_on = 1 | 
					
						
							|  |  |  |     option_off = 0 | 
					
						
							|  |  |  |     alias_true = 1 | 
					
						
							|  |  |  |     alias_false = 0 | 
					
						
							|  |  |  |     option_exclude = 2 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  | class PrizeSanity(Toggle): | 
					
						
							|  |  |  |     """Shuffles the TM prizes at the Celadon Prize Corner into the item pool.""" | 
					
						
							|  |  |  |     display_name = "Prizesanity" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | class TrainerSanity(Toggle): | 
					
						
							|  |  |  |     """Add a location check to every trainer in the game, which can be obtained by talking to a trainer after defeating
 | 
					
						
							|  |  |  |     them. Does not affect gym leaders and some scripted event battles (including all Rival, Giovanni, and | 
					
						
							|  |  |  |     Cinnabar Gym battles)."""
 | 
					
						
							|  |  |  |     display_name = "Trainersanity" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  | class RequirePokedex(Toggle): | 
					
						
							|  |  |  |     """Require the Pokedex to obtain items from Oak's Aides or from Dexsanity checks.""" | 
					
						
							|  |  |  |     display_name = "Require Pokedex" | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AllPokemonSeen(Toggle): | 
					
						
							|  |  |  |     """Start with all Pokemon "seen" in your Pokedex. This allows you to see where Pokemon can be encountered in the
 | 
					
						
							|  |  |  |     wild. Pokemon found by fishing or in the Cerulean Cave are not displayed."""
 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class DexSanity(Toggle): | 
					
						
							|  |  |  |     """Adds a location check for each Pokemon flagged "Owned" on your Pokedex. If accessibility is set to `locations`
 | 
					
						
							|  |  |  |     and randomize_wild_pokemon is off, catch_em_all is not `all_pokemon` or randomize_legendary_pokemon is not `any`, | 
					
						
							|  |  |  |     accessibility will be forced to `items` instead, as not all Dexsanity locations can be guaranteed to be considered | 
					
						
							|  |  |  |     reachable in logic. | 
					
						
							|  |  |  |     If Pokedex is required, the items for Pokemon acquired before acquiring the Pokedex can be found by talking to | 
					
						
							|  |  |  |     Professor Oak or evaluating the Pokedex via Oak's PC.""" | 
					
						
							|  |  |  |     display_name = "Dexsanity" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | class FreeFlyLocation(Toggle): | 
					
						
							|  |  |  |     """One random fly destination will be unlocked by default.""" | 
					
						
							|  |  |  |     display_name = "Free Fly Location" | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  | class RandomizeRockTunnel(Toggle): | 
					
						
							|  |  |  |     """Randomize the layout of Rock Tunnel. This is highly experimental, if you encounter any issues (items or trainers
 | 
					
						
							|  |  |  |      unreachable, trainers walking over walls, inability to reach end of tunnel, anything looking strange) to | 
					
						
							|  |  |  |      Alchav#8826 in the Archipelago Discord (directly or in #pkmn-red-blue) along with the seed number found on the | 
					
						
							|  |  |  |      signs outside the tunnel."""
 | 
					
						
							|  |  |  |     display_name = "Randomize Rock Tunnel" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | class OaksAidRt2(Range): | 
					
						
							| 
									
										
										
										
											2022-11-06 03:07:41 -05:00
										 |  |  |     """Number of Pokemon registered in the Pokedex required to receive the item from Oak's Aide on Route 2.
 | 
					
						
							|  |  |  |     Vanilla is 10."""
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Oak's Aide Route 2" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 80 | 
					
						
							|  |  |  |     default = 10 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class OaksAidRt11(Range): | 
					
						
							| 
									
										
										
										
											2022-11-06 03:07:41 -05:00
										 |  |  |     """Number of Pokemon registered in the Pokedex required to receive the item from Oak's Aide on Route 11.
 | 
					
						
							|  |  |  |     Vanilla is 30."""
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Oak's Aide Route 11" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 80 | 
					
						
							| 
									
										
										
										
											2022-11-06 03:07:41 -05:00
										 |  |  |     default = 20 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class OaksAidRt15(Range): | 
					
						
							| 
									
										
										
										
											2022-11-06 03:07:41 -05:00
										 |  |  |     """Number of Pokemon registered in the Pokedex required to receive the item from Oak's Aide on Route 15.
 | 
					
						
							|  |  |  |     Vanilla is 50."""
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Oak's Aide Route 15" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 80 | 
					
						
							| 
									
										
										
										
											2022-11-06 03:07:41 -05:00
										 |  |  |     default = 30 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ExpModifier(SpecialRange): | 
					
						
							|  |  |  |     """Modifier for EXP gained. When specifying a number, exp is multiplied by this amount and divided by 16.""" | 
					
						
							|  |  |  |     display_name = "Exp Modifier" | 
					
						
							| 
									
										
										
										
											2022-12-18 16:22:03 -05:00
										 |  |  |     range_start = 0 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     range_end = 255 | 
					
						
							|  |  |  |     default = 16 | 
					
						
							|  |  |  |     special_range_names = { | 
					
						
							|  |  |  |         "half": default / 2, | 
					
						
							|  |  |  |         "normal": default, | 
					
						
							|  |  |  |         "double": default * 2, | 
					
						
							|  |  |  |         "triple": default * 3, | 
					
						
							|  |  |  |         "quadruple": default * 4, | 
					
						
							|  |  |  |         "quintuple": default * 5, | 
					
						
							|  |  |  |         "sextuple": default * 6, | 
					
						
							|  |  |  |         "septuple": default * 7, | 
					
						
							|  |  |  |         "octuple": default * 8, | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RandomizeWildPokemon(Choice): | 
					
						
							|  |  |  |     """Randomize all wild Pokemon and game corner prize Pokemon. match_types will select a Pokemon with at least one
 | 
					
						
							|  |  |  |     type matching the original type of the original Pokemon. match_base_stats will prefer Pokemon with closer base stat | 
					
						
							|  |  |  |     totals. match_types_and_base_stats will match types and will weight towards similar base stats, but there may not be | 
					
						
							|  |  |  |     many to choose from."""
 | 
					
						
							|  |  |  |     display_name = "Randomize Wild Pokemon" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_match_types = 1 | 
					
						
							|  |  |  |     option_match_base_stats = 2 | 
					
						
							|  |  |  |     option_match_types_and_base_stats = 3 | 
					
						
							|  |  |  |     option_completely_random = 4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  | class Area1To1Mapping(Toggle): | 
					
						
							|  |  |  |     """When randomizing wild Pokemon, for each zone, all instances of a particular Pokemon will be replaced with the
 | 
					
						
							|  |  |  |     same Pokemon, resulting in fewer Pokemon in each area."""
 | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | class RandomizeStarterPokemon(Choice): | 
					
						
							|  |  |  |     """Randomize the starter Pokemon choices.""" | 
					
						
							|  |  |  |     display_name = "Randomize Starter Pokemon" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_match_types = 1 | 
					
						
							|  |  |  |     option_match_base_stats = 2 | 
					
						
							|  |  |  |     option_match_types_and_base_stats = 3 | 
					
						
							|  |  |  |     option_completely_random = 4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RandomizeStaticPokemon(Choice): | 
					
						
							| 
									
										
										
										
											2022-10-13 13:55:21 -04:00
										 |  |  |     """Randomize one-time gift and encountered Pokemon. These will always be first evolution stage Pokemon.""" | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     display_name = "Randomize Static Pokemon" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_match_types = 1 | 
					
						
							|  |  |  |     option_match_base_stats = 2 | 
					
						
							|  |  |  |     option_match_types_and_base_stats = 3 | 
					
						
							|  |  |  |     option_completely_random = 4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RandomizeLegendaryPokemon(Choice): | 
					
						
							|  |  |  |     """Randomize Legendaries. Mew has been added as an encounter at the Vermilion dock truck.
 | 
					
						
							|  |  |  |     Shuffle will shuffle the legendaries with each other. Static will shuffle them into other static Pokemon locations. | 
					
						
							|  |  |  |     'Any' will allow legendaries to appear anywhere based on wild and static randomization options, and their locations | 
					
						
							|  |  |  |     will be randomized according to static Pokemon randomization options."""
 | 
					
						
							|  |  |  |     display_name = "Randomize Legendary Pokemon" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_shuffle = 1 | 
					
						
							|  |  |  |     option_static = 2 | 
					
						
							|  |  |  |     option_any = 3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CatchEmAll(Choice): | 
					
						
							|  |  |  |     """Guarantee all first evolution stage Pokemon are available, or all Pokemon of all stages.
 | 
					
						
							|  |  |  |     Currently only has an effect if wild Pokemon are randomized."""
 | 
					
						
							|  |  |  |     display_name = "Catch 'Em All" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  |     option_off = 0 | 
					
						
							|  |  |  |     alias_false = 0 | 
					
						
							|  |  |  |     option_first_stage = 1 | 
					
						
							|  |  |  |     option_all_pokemon = 2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RandomizeTrainerParties(Choice): | 
					
						
							|  |  |  |     """Randomize enemy Pokemon encountered in trainer battles.""" | 
					
						
							|  |  |  |     display_name = "Randomize Trainer Parties" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_match_types = 1 | 
					
						
							|  |  |  |     option_match_base_stats = 2 | 
					
						
							|  |  |  |     option_match_types_and_base_stats = 3 | 
					
						
							|  |  |  |     option_completely_random = 4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TrainerLegendaries(Toggle): | 
					
						
							|  |  |  |     """Allow legendary Pokemon in randomized trainer parties.""" | 
					
						
							|  |  |  |     display_name = "Trainer Legendaries" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BlindTrainers(Range): | 
					
						
							|  |  |  |     """Chance each frame that you are standing on a tile in a trainer's line of sight that they will fail to initiate a
 | 
					
						
							|  |  |  |     battle. If you move into and out of their line of sight without stopping, this chance will only trigger once."""
 | 
					
						
							|  |  |  |     display_name = "Blind Trainers" | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 100 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MinimumStepsBetweenEncounters(Range): | 
					
						
							|  |  |  |     """Minimum number of steps between wild Pokemon encounters.""" | 
					
						
							|  |  |  |     display_name = "Minimum Steps Between Encounters" | 
					
						
							|  |  |  |     default = 3 | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 255 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RandomizePokemonStats(Choice): | 
					
						
							|  |  |  |     """Randomize base stats for each Pokemon. Shuffle will shuffle the 5 base stat values amongst each other. Randomize
 | 
					
						
							|  |  |  |     will completely randomize each stat, but will still add up to the same base stat total."""
 | 
					
						
							|  |  |  |     display_name = "Randomize Pokemon Stats" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_shuffle = 1 | 
					
						
							|  |  |  |     option_randomize = 2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RandomizePokemonCatchRates(Toggle): | 
					
						
							|  |  |  |     """Randomize the catch rate for each Pokemon.""" | 
					
						
							|  |  |  |     display_name = "Randomize Catch Rates" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MinimumCatchRate(Range): | 
					
						
							|  |  |  |     """Minimum catch rate for each Pokemon. If randomize_catch_rates is on, this will be the minimum value that can be
 | 
					
						
							|  |  |  |     chosen. Otherwise, it will raise any Pokemon's catch rate up to this value if its normal catch rate is lower.""" | 
					
						
							|  |  |  |     display_name = "Minimum Catch Rate" | 
					
						
							|  |  |  |     range_start = 1 | 
					
						
							|  |  |  |     range_end = 255 | 
					
						
							|  |  |  |     default = 3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  | class MoveBalancing(Toggle): | 
					
						
							|  |  |  |     """All one-hit-KO moves and fixed-damage moves become normal damaging moves.
 | 
					
						
							|  |  |  |     Blizzard, and moves that cause sleep have their accuracy reduced."""
 | 
					
						
							|  |  |  |     display_name = "Move Balancing" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | class RandomizePokemonMovesets(Choice): | 
					
						
							|  |  |  |     """Randomize the moves learned by Pokemon. prefer_types will prefer moves that match the type of the Pokemon.""" | 
					
						
							|  |  |  |     display_name = "Randomize Pokemon Movesets" | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_prefer_types = 1 | 
					
						
							|  |  |  |     option_completely_random = 2 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  | class ConfineTranstormToDitto(Toggle): | 
					
						
							|  |  |  |     """Regardless of moveset randomization, will keep Ditto's first move as Transform no others will learn it.
 | 
					
						
							|  |  |  |     If an enemy Pokemon uses transform before you catch it, it will permanently change to Ditto after capture."""
 | 
					
						
							|  |  |  |     display_name = "Confine Transform to Ditto" | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | class StartWithFourMoves(Toggle): | 
					
						
							|  |  |  |     """If movesets are randomized, this will give all Pokemon 4 starting moves.""" | 
					
						
							|  |  |  |     display_name = "Start With Four Moves" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | class SameTypeAttackBonus(Toggle): | 
					
						
							|  |  |  |     """Here you can disable Same Type Attack Bonus, so that a move matching a Pokemon's type has no benefit.
 | 
					
						
							|  |  |  |     If disabled, all moves will gain 25% extra damage, instead of same type moves gaining 50% extra damage."""
 | 
					
						
							|  |  |  |     display_name = "Same Type Attack Bonus" | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  | class RandomizeTMMoves(Toggle): | 
					
						
							|  |  |  |     """Randomize the moves taught by TMs.
 | 
					
						
							|  |  |  |     All TM items will be flagged as 'filler' items regardless of how good the move they teach are."""
 | 
					
						
							|  |  |  |     display_name = "Randomize TM Moves" | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  | class TMHMCompatibility(SpecialRange): | 
					
						
							|  |  |  |     range_start = -1 | 
					
						
							|  |  |  |     range_end = 100 | 
					
						
							|  |  |  |     special_range_names = { | 
					
						
							|  |  |  |         "vanilla": -1, | 
					
						
							|  |  |  |         "none": 0, | 
					
						
							|  |  |  |         "full": 100 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     default = -1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TMSameTypeCompatibility(TMHMCompatibility): | 
					
						
							|  |  |  |     """Chance of each TM being usable on each Pokemon whose type matches the move.""" | 
					
						
							|  |  |  |     display_name = "TM Same-Type Compatibility" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TMNormalTypeCompatibility(TMHMCompatibility): | 
					
						
							|  |  |  |     """Chance of each TM being usable on each Pokemon if the move is Normal type and the Pokemon is not.""" | 
					
						
							|  |  |  |     display_name = "TM Normal-Type Compatibility" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TMOtherTypeCompatibility(TMHMCompatibility): | 
					
						
							|  |  |  |     """Chance of each TM being usable on each Pokemon if the move a type other than Normal or one of the Pokemon's types.""" | 
					
						
							|  |  |  |     display_name = "TM Other-Type Compatibility" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class HMSameTypeCompatibility(TMHMCompatibility): | 
					
						
							|  |  |  |     """Chance of each HM being usable on each Pokemon whose type matches the move.
 | 
					
						
							|  |  |  |     At least one Pokemon will always be able to learn the moves needed to meet your accessibility requirements."""
 | 
					
						
							|  |  |  |     display_name = "HM Same-Type Compatibility" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class HMNormalTypeCompatibility(TMHMCompatibility): | 
					
						
							|  |  |  |     """Chance of each HM being usable on each Pokemon if the move is Normal type and the Pokemon is not.
 | 
					
						
							|  |  |  |     At least one Pokemon will always be able to learn the moves needed to meet your accessibility requirements."""
 | 
					
						
							|  |  |  |     display_name = "HM Normal-Type Compatibility" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class HMOtherTypeCompatibility(TMHMCompatibility): | 
					
						
							|  |  |  |     """Chance of each HM being usable on each Pokemon if the move a type other than Normal or one of the Pokemon's types.
 | 
					
						
							|  |  |  |     At least one Pokemon will always be able to learn the moves needed to meet your accessibility requirements."""
 | 
					
						
							|  |  |  |     display_name = "HM Other-Type Compatibility" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class InheritTMHMCompatibility(Toggle): | 
					
						
							|  |  |  |     """If on, evolved Pokemon will inherit their pre-evolved form's TM and HM compatibilities.
 | 
					
						
							|  |  |  |     They will then roll the above set chances again at a 50% lower rate for all TMs and HMs their predecessor could not | 
					
						
							|  |  |  |     learn, unless the evolved form has additional or different types, then moves of those new types will be rolled | 
					
						
							|  |  |  |     at the full set chance."""
 | 
					
						
							|  |  |  |     display_name = "Inherit TM/HM Compatibility" | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class RandomizePokemonTypes(Choice): | 
					
						
							|  |  |  |     """Randomize the types of each Pokemon. Follow Evolutions will ensure Pokemon's types remain the same when evolving
 | 
					
						
							|  |  |  |     (except possibly gaining a type)."""
 | 
					
						
							|  |  |  |     display_name = "Pokemon Types" | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_follow_evolutions = 1 | 
					
						
							|  |  |  |     option_randomize = 2 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SecondaryTypeChance(SpecialRange): | 
					
						
							|  |  |  |     """If randomize_pokemon_types is on, this is the chance each Pokemon will have a secondary type. If follow_evolutions
 | 
					
						
							|  |  |  |     is selected, it is the chance a second type will be added at each evolution stage. vanilla will give secondary types | 
					
						
							|  |  |  |     to Pokemon that normally have a secondary type."""
 | 
					
						
							|  |  |  |     display_name = "Secondary Type Chance" | 
					
						
							|  |  |  |     range_start = -1 | 
					
						
							|  |  |  |     range_end = 100 | 
					
						
							|  |  |  |     default = -1 | 
					
						
							|  |  |  |     special_range_names = { | 
					
						
							|  |  |  |         "vanilla": -1 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | class RandomizeTypeChart(Choice): | 
					
						
							|  |  |  |     """Randomize the type chart. If 'randomize' is chosen, the matchup weight options will determine the weights.
 | 
					
						
							|  |  |  |     If the numbers chosen across the 4 settings add up to exactly 225, they will be the exact numbers of those matchups. | 
					
						
							|  |  |  |     Otherwise, the normal super effective, and not very effective matchup settings will be used as weights. | 
					
						
							|  |  |  |     The immunities option will always be the exact amount of immunity matchups. | 
					
						
							|  |  |  |     If 'chaos' is chosen, the matchup settings will be ignored and every type matchup will be given a random damage | 
					
						
							|  |  |  |     modifier anywhere between 0 to 200% damage, in 10% increments."""
 | 
					
						
							|  |  |  |     display_name = "Randomize Type Chart" | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     option_vanilla = 0 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     option_randomize = 1 | 
					
						
							|  |  |  |     option_chaos = 2 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | class NormalMatchups(Range): | 
					
						
							|  |  |  |     """If 'randomize' is chosen for randomize_type_chart, this will be the weight for neutral matchups.
 | 
					
						
							|  |  |  |     No effect if 'chaos' is chosen"""
 | 
					
						
							|  |  |  |     display_name = "Normal Matchups" | 
					
						
							|  |  |  |     default = 143 | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 225 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SuperEffectiveMatchups(Range): | 
					
						
							|  |  |  |     """If 'randomize' is chosen for randomize_type_chart, this will be the weight for super effective matchups.
 | 
					
						
							|  |  |  |     No effect if 'chaos' is chosen"""
 | 
					
						
							|  |  |  |     display_name = "Super Effective Matchups" | 
					
						
							|  |  |  |     default = 38 | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 225 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class NotVeryEffectiveMatchups(Range): | 
					
						
							|  |  |  |     """If 'randomize' is chosen for randomize_type_chart, this will be the weight for not very effective matchups.
 | 
					
						
							|  |  |  |     No effect if 'chaos' is chosen"""
 | 
					
						
							|  |  |  |     display_name = "Not Very Effective Matchups" | 
					
						
							|  |  |  |     default = 38 | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 225 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ImmunityMatchups(Range): | 
					
						
							|  |  |  |     """If 'randomize' is chosen for randomize_type_chart, this will be the exact number of immunities.
 | 
					
						
							|  |  |  |     No effect if 'chaos' is chosen"""
 | 
					
						
							|  |  |  |     display_name = "Immunity Matchups" | 
					
						
							|  |  |  |     default = 6 | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 100 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SafariZoneNormalBattles(Toggle): | 
					
						
							|  |  |  |     """Change the Safari Zone to have standard wild pokemon battles.""" | 
					
						
							|  |  |  |     display_name = "Safari Zone Normal Battles" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class NormalizeEncounterChances(Toggle): | 
					
						
							|  |  |  |     """Each wild encounter table has 10 slots for Pokemon. Normally the chance for each being chosen ranges from
 | 
					
						
							|  |  |  |     19.9% to 1.2%. Turn this on to normalize them all to 10% each."""
 | 
					
						
							|  |  |  |     display_name = "Normalize Encounter Chances" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ReusableTMs(Toggle): | 
					
						
							|  |  |  |     """Makes TMs reusable, so they will not be consumed upon use.""" | 
					
						
							|  |  |  |     display_name = "Reusable TMs" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | class BetterShops(Choice): | 
					
						
							|  |  |  |     """Change every town's Pokemart to contain all normal Pokemart items. Additionally, you can add the Master Ball
 | 
					
						
							|  |  |  |     to these shops."""
 | 
					
						
							|  |  |  |     display_name = "Better Shops" | 
					
						
							|  |  |  |     option_off = 0 | 
					
						
							|  |  |  |     option_on = 1 | 
					
						
							|  |  |  |     option_add_master_ball = 2 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MasterBallPrice(Range): | 
					
						
							|  |  |  |     """Price for Master Balls. Can only be bought if better_shops is set to add_master_ball, but this will affect the
 | 
					
						
							|  |  |  |     sell price regardless. Vanilla is 0"""
 | 
					
						
							| 
									
										
										
										
											2022-12-11 14:51:28 -05:00
										 |  |  |     display_name = "Master Ball Price" | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     range_end = 999999 | 
					
						
							|  |  |  |     default = 5000 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | class StartingMoney(Range): | 
					
						
							|  |  |  |     """The amount of money you start with.""" | 
					
						
							|  |  |  |     display_name = "Starting Money" | 
					
						
							|  |  |  |     default = 3000 | 
					
						
							|  |  |  |     range_start = 0 | 
					
						
							|  |  |  |     range_end = 999999 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  | class LoseMoneyOnBlackout(Toggle): | 
					
						
							|  |  |  |     """Lose half your money when blacking out, as in vanilla.""" | 
					
						
							|  |  |  |     display_name = "Lose Money on Blackout" | 
					
						
							|  |  |  |     default = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TrapPercentage(Range): | 
					
						
							| 
									
										
										
										
											2022-12-11 14:51:28 -05:00
										 |  |  |     """Chance for each filler item to be replaced with trap items. Keep in mind that trainersanity vastly increases the
 | 
					
						
							|  |  |  |     number of filler items. The trap weight options will determine which traps can be chosen from and at what likelihood."""
 | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     display_name = "Trap Percentage" | 
					
						
							|  |  |  |     range_end = 100 | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-11 14:51:28 -05:00
										 |  |  | class TrapWeight(Choice): | 
					
						
							|  |  |  |     option_low = 1 | 
					
						
							|  |  |  |     option_medium = 3 | 
					
						
							|  |  |  |     option_high = 5 | 
					
						
							| 
									
										
										
										
											2023-01-20 17:49:12 +00:00
										 |  |  |     option_disabled = 0 | 
					
						
							| 
									
										
										
										
											2022-12-11 14:51:28 -05:00
										 |  |  |     default = 3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class PoisonTrapWeight(TrapWeight): | 
					
						
							|  |  |  |     """Weights for Poison Traps. These apply the Poison status to all your party members.""" | 
					
						
							|  |  |  |     display_name = "Poison Trap Weight" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class FireTrapWeight(TrapWeight): | 
					
						
							|  |  |  |     """Weights for Fire Traps. These apply the Burn status to all your party members.""" | 
					
						
							|  |  |  |     display_name = "Fire Trap Weight" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ParalyzeTrapWeight(TrapWeight): | 
					
						
							|  |  |  |     """Weights for Paralyze Traps. These apply the Paralyze status to all your party members.""" | 
					
						
							|  |  |  |     display_name = "Paralyze Trap Weight" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class IceTrapWeight(TrapWeight): | 
					
						
							|  |  |  |     """Weights for Ice Traps. These apply the Ice status to all your party members. Don't forget to buy Ice Heals!""" | 
					
						
							|  |  |  |     display_name = "Ice Trap Weight" | 
					
						
							|  |  |  |     default = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  | class RandomizePokemonPalettes(Choice): | 
					
						
							|  |  |  |     """Modify palettes of Pokemon. Primary Type will set Pokemons' palettes based on their primary type, Follow
 | 
					
						
							|  |  |  |     Evolutions will randomize palettes but palettes will remain the same through evolutions (except Eeveelutions), | 
					
						
							|  |  |  |     Completely Random will randomize all Pokemons' palettes individually""" | 
					
						
							|  |  |  |     display_name = "Randomize Pokemon Palettes" | 
					
						
							|  |  |  |     option_vanilla = 0 | 
					
						
							|  |  |  |     option_primary_type = 1 | 
					
						
							|  |  |  |     option_follow_evolutions = 2 | 
					
						
							|  |  |  |     option_completely_random = 3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  | pokemon_rb_options = { | 
					
						
							|  |  |  |     "game_version": GameVersion, | 
					
						
							|  |  |  |     "trainer_name": TrainerName, | 
					
						
							|  |  |  |     "rival_name": RivalName, | 
					
						
							|  |  |  |     #"goal": Goal, | 
					
						
							|  |  |  |     "elite_four_condition": EliteFourCondition, | 
					
						
							|  |  |  |     "victory_road_condition": VictoryRoadCondition, | 
					
						
							|  |  |  |     "viridian_gym_condition": ViridianGymCondition, | 
					
						
							|  |  |  |     "cerulean_cave_condition": CeruleanCaveCondition, | 
					
						
							|  |  |  |     "second_fossil_check_condition": SecondFossilCheckCondition, | 
					
						
							|  |  |  |     "badgesanity": BadgeSanity, | 
					
						
							|  |  |  |     "old_man": OldMan, | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     "randomize_pokedex": RandomizePokedex, | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     "tea": Tea, | 
					
						
							|  |  |  |     "extra_key_items": ExtraKeyItems, | 
					
						
							|  |  |  |     "extra_strength_boulders": ExtraStrengthBoulders, | 
					
						
							|  |  |  |     "require_item_finder": RequireItemFinder, | 
					
						
							|  |  |  |     "randomize_hidden_items": RandomizeHiddenItems, | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  |     "prizesanity": PrizeSanity, | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     "trainersanity": TrainerSanity, | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  |     "require_pokedex": RequirePokedex, | 
					
						
							|  |  |  |     "all_pokemon_seen": AllPokemonSeen, | 
					
						
							|  |  |  |     "dexsanity": DexSanity, | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     "oaks_aide_rt_2": OaksAidRt2, | 
					
						
							|  |  |  |     "oaks_aide_rt_11": OaksAidRt11, | 
					
						
							|  |  |  |     "oaks_aide_rt_15": OaksAidRt15, | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  |     "badges_needed_for_hm_moves": BadgesNeededForHMMoves, | 
					
						
							|  |  |  |     "free_fly_location": FreeFlyLocation, | 
					
						
							|  |  |  |     "randomize_rock_tunnel": RandomizeRockTunnel, | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     "blind_trainers": BlindTrainers, | 
					
						
							|  |  |  |     "minimum_steps_between_encounters": MinimumStepsBetweenEncounters, | 
					
						
							|  |  |  |     "exp_modifier": ExpModifier, | 
					
						
							|  |  |  |     "randomize_wild_pokemon": RandomizeWildPokemon, | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  |     "area_1_to_1_mapping": Area1To1Mapping, | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     "randomize_starter_pokemon": RandomizeStarterPokemon, | 
					
						
							|  |  |  |     "randomize_static_pokemon": RandomizeStaticPokemon, | 
					
						
							|  |  |  |     "randomize_legendary_pokemon": RandomizeLegendaryPokemon, | 
					
						
							|  |  |  |     "catch_em_all": CatchEmAll, | 
					
						
							|  |  |  |     "randomize_pokemon_stats": RandomizePokemonStats, | 
					
						
							|  |  |  |     "randomize_pokemon_catch_rates": RandomizePokemonCatchRates, | 
					
						
							|  |  |  |     "minimum_catch_rate": MinimumCatchRate, | 
					
						
							|  |  |  |     "randomize_trainer_parties": RandomizeTrainerParties, | 
					
						
							|  |  |  |     "trainer_legendaries": TrainerLegendaries, | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  |     "move_balancing": MoveBalancing, | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     "randomize_pokemon_movesets": RandomizePokemonMovesets, | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  |     "confine_transform_to_ditto": ConfineTranstormToDitto, | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     "start_with_four_moves": StartWithFourMoves, | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     "same_type_attack_bonus": SameTypeAttackBonus, | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  |     "randomize_tm_moves": RandomizeTMMoves, | 
					
						
							|  |  |  |     "tm_same_type_compatibility": TMSameTypeCompatibility, | 
					
						
							|  |  |  |     "tm_normal_type_compatibility": TMNormalTypeCompatibility, | 
					
						
							|  |  |  |     "tm_other_type_compatibility": TMOtherTypeCompatibility, | 
					
						
							|  |  |  |     "hm_same_type_compatibility": HMSameTypeCompatibility, | 
					
						
							|  |  |  |     "hm_normal_type_compatibility": HMNormalTypeCompatibility, | 
					
						
							|  |  |  |     "hm_other_type_compatibility": HMOtherTypeCompatibility, | 
					
						
							|  |  |  |     "inherit_tm_hm_compatibility": InheritTMHMCompatibility, | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     "randomize_pokemon_types": RandomizePokemonTypes, | 
					
						
							|  |  |  |     "secondary_type_chance": SecondaryTypeChance, | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     "randomize_type_chart": RandomizeTypeChart, | 
					
						
							|  |  |  |     "normal_matchups": NormalMatchups, | 
					
						
							|  |  |  |     "super_effective_matchups": SuperEffectiveMatchups, | 
					
						
							|  |  |  |     "not_very_effective_matchups": NotVeryEffectiveMatchups, | 
					
						
							|  |  |  |     "immunity_matchups": ImmunityMatchups, | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     "safari_zone_normal_battles": SafariZoneNormalBattles, | 
					
						
							|  |  |  |     "normalize_encounter_chances": NormalizeEncounterChances, | 
					
						
							|  |  |  |     "reusable_tms": ReusableTMs, | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     "better_shops": BetterShops, | 
					
						
							|  |  |  |     "master_ball_price": MasterBallPrice, | 
					
						
							| 
									
										
										
										
											2022-10-13 01:45:52 -04:00
										 |  |  |     "starting_money": StartingMoney, | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     "lose_money_on_blackout": LoseMoneyOnBlackout, | 
					
						
							|  |  |  |     "trap_percentage": TrapPercentage, | 
					
						
							| 
									
										
										
										
											2022-12-11 14:51:28 -05:00
										 |  |  |     "poison_trap_weight": PoisonTrapWeight, | 
					
						
							|  |  |  |     "fire_trap_weight": FireTrapWeight, | 
					
						
							|  |  |  |     "paralyze_trap_weight": ParalyzeTrapWeight, | 
					
						
							|  |  |  |     "ice_trap_weight": IceTrapWeight, | 
					
						
							| 
									
										
										
										
											2023-03-13 18:40:55 -04:00
										 |  |  |     "randomize_pokemon_palettes": RandomizePokemonPalettes, | 
					
						
							| 
									
										
										
										
											2022-12-07 18:38:34 -05:00
										 |  |  |     "death_link": DeathLink | 
					
						
							| 
									
										
										
										
											2023-01-20 17:49:12 +00:00
										 |  |  | } |