 52e65e208e
			
		
	
	52e65e208e
	
	
	
		
			
			Major Content update for Stardew Valley, including the following features - Major performance improvements all across the Stardew Valley apworld, including a significant reduction in the test time - Randomized Farm Type - Bundles rework (Remixed Bundles and Missing Bundle!) - New Settings: * Shipsanity - Shipping individual items * Monstersanity - Slaying monsters * Cooksanity - Cooking individual recipes * Chefsanity - Learning individual recipes * Craftsanity - Crafting individual items - New Goals: * Protector of the Valley - Complete every monster slayer goal * Full Shipment - Ship every item * Craftmaster - Craft every item * Gourmet Chef - Cook every recipe * Legend - Earn 10 000 000g * Mystery of the Stardrops - Find every stardrop (Maguffin Hunt) * Allsanity - Complete every check in your slot - Building Shuffle: Cheaper options - Tool Shuffle: Cheaper options - Money rework - New traps - New isolated checks and items, including the farm cave, the movie theater, etc - Mod Support: SVE [Albrekka] - Mod Support: Distant Lands [Albrekka] - Mod Support: Hat Mouse Lacey [Albrekka] - Mod Support: Boarding House [Albrekka] Co-authored-by: Witchybun <elnendil@gmail.com> Co-authored-by: Witchybun <96719127+Witchybun@users.noreply.github.com> Co-authored-by: Jouramie <jouramie@hotmail.com> Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com>
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from typing import Dict
 | |
| 
 | |
| from Options import NamedRange
 | |
| from ... import StardewValleyWorld
 | |
| 
 | |
| options_to_exclude = {"profit_margin", "starting_money", "multiple_day_sleep_enabled", "multiple_day_sleep_cost",
 | |
|                       "experience_multiplier", "friendship_multiplier", "debris_multiplier",
 | |
|                       "quick_start", "gifting", "gift_tax",
 | |
|                       "progression_balancing", "accessibility", "start_inventory", "start_hints", "death_link"}
 | |
| 
 | |
| options_to_include = [option
 | |
|                       for option_name, option in StardewValleyWorld.options_dataclass.type_hints.items()
 | |
|                       if option_name not in options_to_exclude]
 | |
| 
 | |
| 
 | |
| def get_option_choices(option) -> Dict[str, int]:
 | |
|     if issubclass(option, NamedRange):
 | |
|         return option.special_range_names
 | |
|     elif option.options:
 | |
|         return option.options
 | |
|     return {}
 | |
| 
 | |
| 
 | |
| all_option_choices = [(option, value)
 | |
|                       for option in options_to_include
 | |
|                       if option.options
 | |
|                       for value in get_option_choices(option)
 | |
|                       if option.default != get_option_choices(option)[value]]
 | |
| 
 | |
| assert all_option_choices
 |