43 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
| from worlds.smz3.TotalSMZ3.Region import Z3Region, RewardType, IReward
 | |
| from worlds.smz3.TotalSMZ3.Config import Config
 | |
| from worlds.smz3.TotalSMZ3.Location import Location, LocationType
 | |
| from worlds.smz3.TotalSMZ3.Item import ItemType, Progression
 | |
| 
 | |
| class DesertPalace(Z3Region, IReward):
 | |
|     Name = "Desert Palace"
 | |
|     Area = "Desert Palace"
 | |
| 
 | |
|     def __init__(self, world, config: Config):
 | |
|         super().__init__(world, config)
 | |
|         self.Reward = RewardType.Null
 | |
|         self.RegionItems = [ ItemType.KeyDP, ItemType.BigKeyDP, ItemType.MapDP, ItemType.CompassDP ]
 | |
|         self.Locations = [
 | |
|             Location(self, 256+109, 0x1E98F, LocationType.Regular, "Desert Palace - Big Chest",
 | |
|                 lambda items: items.BigKeyDP),
 | |
|             Location(self, 256+110, 0x308160, LocationType.Regular, "Desert Palace - Torch",
 | |
|                 lambda items: items.Boots),
 | |
|             Location(self, 256+111, 0x1E9B6, LocationType.Regular, "Desert Palace - Map Chest"),
 | |
|             Location(self, 256+112, 0x1E9C2, LocationType.Regular, "Desert Palace - Big Key Chest",
 | |
|                 lambda items: items.KeyDP),
 | |
|             Location(self, 256+113, 0x1E9CB, LocationType.Regular, "Desert Palace - Compass Chest",
 | |
|                 lambda items: items.KeyDP),
 | |
|             Location(self, 256+114, 0x308151, LocationType.Regular, "Desert Palace - Lanmolas",
 | |
|                 lambda items: (
 | |
|                     items.CanLiftLight() or
 | |
|                     items.CanAccessMiseryMirePortal(self.Config) and items.Mirror
 | |
|                 ) and items.BigKeyDP and items.KeyDP and items.CanLightTorches() and self.CanBeatBoss(items))
 | |
|             ]
 | |
| 
 | |
|     def CanBeatBoss(self, items: Progression):
 | |
|         return items.Sword or items.Hammer or items.Bow or \
 | |
|             items.Firerod or items.Icerod or \
 | |
|             items.Byrna or items.Somaria
 | |
| 
 | |
|     def CanEnter(self, items: Progression):
 | |
|         return items.Book or \
 | |
|             items.Mirror and items.CanLiftHeavy() and items.Flute or \
 | |
|             items.CanAccessMiseryMirePortal(self.Config) and items.Mirror
 | |
| 
 | |
|     def CanComplete(self, items: Progression):
 | |
|         return self.GetLocation("Desert Palace - Lanmolas").Available(items)
 |