TUNIC: Add setting to disable local spoiler to host yaml (#3661)
* Add TunicSettings class for host yaml options * Update __init__.py * Update worlds/tunic/__init__.py Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Use self.settings * Remove unused import --------- Co-authored-by: Scipio Wright <scipiowright@gmail.com>
This commit is contained in:
		
							parent
							
								
									5188375736
								
							
						
					
					
						commit
						ed4ad386e8
					
				| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Dict, List, Any, Tuple, TypedDict
 | 
			
		||||
from typing import Dict, List, Any, Tuple, TypedDict, ClassVar, Union
 | 
			
		||||
from logging import warning
 | 
			
		||||
from BaseClasses import Region, Location, Item, Tutorial, ItemClassification, MultiWorld
 | 
			
		||||
from .items import item_name_to_id, item_table, item_name_groups, fool_tiers, filler_items, slot_data_item_names
 | 
			
		||||
| 
						 | 
				
			
			@ -12,6 +12,14 @@ from .options import TunicOptions, EntranceRando, tunic_option_groups, tunic_opt
 | 
			
		|||
from worlds.AutoWorld import WebWorld, World
 | 
			
		||||
from Options import PlandoConnection
 | 
			
		||||
from decimal import Decimal, ROUND_HALF_UP
 | 
			
		||||
from settings import Group, Bool
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TunicSettings(Group):
 | 
			
		||||
    class DisableLocalSpoiler(Bool):
 | 
			
		||||
        """Disallows the TUNIC client from creating a local spoiler log."""
 | 
			
		||||
 | 
			
		||||
    disable_local_spoiler: Union[DisableLocalSpoiler, bool] = False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TunicWeb(WebWorld):
 | 
			
		||||
| 
						 | 
				
			
			@ -57,6 +65,7 @@ class TunicWorld(World):
 | 
			
		|||
 | 
			
		||||
    options: TunicOptions
 | 
			
		||||
    options_dataclass = TunicOptions
 | 
			
		||||
    settings: ClassVar[TunicSettings]
 | 
			
		||||
    item_name_groups = item_name_groups
 | 
			
		||||
    location_name_groups = location_name_groups
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -373,7 +382,8 @@ class TunicWorld(World):
 | 
			
		|||
            "Hexagon Quest Holy Cross": self.ability_unlocks["Pages 42-43 (Holy Cross)"],
 | 
			
		||||
            "Hexagon Quest Icebolt": self.ability_unlocks["Pages 52-53 (Icebolt)"],
 | 
			
		||||
            "Hexagon Quest Goal": self.options.hexagon_goal.value,
 | 
			
		||||
            "Entrance Rando": self.tunic_portal_pairs
 | 
			
		||||
            "Entrance Rando": self.tunic_portal_pairs,
 | 
			
		||||
            "disable_local_spoiler": int(self.settings.disable_local_spoiler or self.multiworld.is_race),
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        for tunic_item in filter(lambda item: item.location is not None and item.code is not None, self.slot_data_items):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue