clean up some spoiler display names
This commit is contained in:
		
							parent
							
								
									d1c83ffc09
								
							
						
					
					
						commit
						230d9d993e
					
				|  | @ -1298,7 +1298,7 @@ class Spoiler(): | ||||||
|                     for f_option, option in options.items(): |                     for f_option, option in options.items(): | ||||||
|                         res = getattr(self.world, f_option)[player] |                         res = getattr(self.world, f_option)[player] | ||||||
|                         displayname = getattr(option, "displayname", f_option) |                         displayname = getattr(option, "displayname", f_option) | ||||||
|                         outfile.write(f'{displayname+":":33}{bool_to_text(res) if type(res) == Options.Toggle else res.get_option_name()}\n') |                         outfile.write(f'{displayname + ":":33}{res.get_option_name()}\n') | ||||||
| 
 | 
 | ||||||
|                 if player in self.world.get_game_players("A Link to the Past"): |                 if player in self.world.get_game_players("A Link to the Past"): | ||||||
|                     for team in range(self.world.teams): |                     for team in range(self.world.teams): | ||||||
|  |  | ||||||
							
								
								
									
										24
									
								
								Options.py
								
								
								
								
							
							
						
						
									
										24
									
								
								Options.py
								
								
								
								
							|  | @ -7,6 +7,7 @@ class AssembleOptions(type): | ||||||
|     def __new__(mcs, name, bases, attrs): |     def __new__(mcs, name, bases, attrs): | ||||||
|         options = attrs["options"] = {} |         options = attrs["options"] = {} | ||||||
|         name_lookup = attrs["name_lookup"] = {} |         name_lookup = attrs["name_lookup"] = {} | ||||||
|  |         # merge parent class options | ||||||
|         for base in bases: |         for base in bases: | ||||||
|             if hasattr(base, "options"): |             if hasattr(base, "options"): | ||||||
|                 options.update(base.options) |                 options.update(base.options) | ||||||
|  | @ -30,24 +31,32 @@ class AssembleOptions(type): | ||||||
|             attrs["__init__"] = validate_decorator(attrs["__init__"]) |             attrs["__init__"] = validate_decorator(attrs["__init__"]) | ||||||
|         return super(AssembleOptions, mcs).__new__(mcs, name, bases, attrs) |         return super(AssembleOptions, mcs).__new__(mcs, name, bases, attrs) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class Option(metaclass=AssembleOptions): | class Option(metaclass=AssembleOptions): | ||||||
|     value: int |     value: int | ||||||
|     name_lookup: typing.Dict[int, str] |     name_lookup: typing.Dict[int, str] | ||||||
|     default = 0 |     default = 0 | ||||||
| 
 | 
 | ||||||
|     def __repr__(self): |     # convert option_name_long into Name Long as displayname, otherwise name_long is the result. | ||||||
|  |     # Handled in get_option_name() | ||||||
|  |     autodisplayname = False | ||||||
|  | 
 | ||||||
|  |     def __repr__(self) -> str: | ||||||
|         return f"{self.__class__.__name__}({self.get_option_name()})" |         return f"{self.__class__.__name__}({self.get_option_name()})" | ||||||
| 
 | 
 | ||||||
|     def __hash__(self): |     def __hash__(self): | ||||||
|         return hash(self.value) |         return hash(self.value) | ||||||
| 
 | 
 | ||||||
|     def get_option_name(self): |     def get_option_name(self) -> str: | ||||||
|         return self.name_lookup[self.value] |         if self.autodisplayname: | ||||||
|  |             return self.name_lookup[self.value].replace("_", " ").title() | ||||||
|  |         else: | ||||||
|  |             return self.name_lookup[self.value] | ||||||
| 
 | 
 | ||||||
|     def __int__(self): |     def __int__(self) -> int: | ||||||
|         return self.value |         return self.value | ||||||
| 
 | 
 | ||||||
|     def __bool__(self): |     def __bool__(self) -> bool: | ||||||
|         return bool(self.value) |         return bool(self.value) | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|  | @ -96,12 +105,15 @@ class Toggle(Option): | ||||||
|         return int(self.value) |         return int(self.value) | ||||||
| 
 | 
 | ||||||
|     def get_option_name(self): |     def get_option_name(self): | ||||||
|         return bool(self.value) |         return ["No", "Yes"][int(self.value)] | ||||||
| 
 | 
 | ||||||
| class DefaultOnToggle(Toggle): | class DefaultOnToggle(Toggle): | ||||||
|     default = 1 |     default = 1 | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class Choice(Option): | class Choice(Option): | ||||||
|  |     autodisplayname = True | ||||||
|  | 
 | ||||||
|     def __init__(self, value: int): |     def __init__(self, value: int): | ||||||
|         self.value: int = value |         self.value: int = value | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,3 +1,5 @@ | ||||||
|  | import collections | ||||||
|  | 
 | ||||||
| from ..AutoWorld import World | from ..AutoWorld import World | ||||||
| 
 | 
 | ||||||
| from BaseClasses import Region, Entrance, Location, Item | from BaseClasses import Region, Entrance, Location, Item | ||||||
|  | @ -28,14 +30,14 @@ class Factorio(World): | ||||||
|     data_version = 3 |     data_version = 3 | ||||||
| 
 | 
 | ||||||
|     def generate_basic(self): |     def generate_basic(self): | ||||||
|         want_progressives = {} |         want_progressives = collections.defaultdict(lambda: self.world.progressive[self.player]. | ||||||
|  |                                                     want_progressives(self.world.random)) | ||||||
|         skip_silo = self.world.silo[self.player].value == Silo.option_spawn |         skip_silo = self.world.silo[self.player].value == Silo.option_spawn | ||||||
|         for tech_name in base_tech_table: |         for tech_name in base_tech_table: | ||||||
|             if skip_silo and tech_name == "rocket-silo": |             if skip_silo and tech_name == "rocket-silo": | ||||||
|                 continue |                 continue | ||||||
|             progressive_item_name = tech_to_progressive_lookup.get(tech_name, tech_name) |             progressive_item_name = tech_to_progressive_lookup.get(tech_name, tech_name) | ||||||
|             want_progressive = want_progressives.setdefault(progressive_item_name, |             want_progressive = want_progressives[progressive_item_name] | ||||||
|                                                             self.world.progressive[self.player].want_progressives(self.world.random)) |  | ||||||
|             item_name = progressive_item_name if want_progressive else tech_name |             item_name = progressive_item_name if want_progressive else tech_name | ||||||
|             tech_item = self.create_item(item_name) |             tech_item = self.create_item(item_name) | ||||||
|             if tech_name in self.static_nodes: |             if tech_name in self.static_nodes: | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue