37 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
| from typing import List
 | |
| 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 Progression, ItemType
 | |
| 
 | |
| class TowerOfHera(Z3Region, IReward):
 | |
|     Name = "Tower of Hera"
 | |
|     Area = "Tower of Hera"
 | |
| 
 | |
|     def __init__(self, world, config: Config):
 | |
|         super().__init__(world, config)
 | |
|         self.RegionItems = [ ItemType.KeyTH, ItemType.BigKeyTH, ItemType.MapTH, ItemType.CompassTH]
 | |
|         self.Reward = RewardType.Null
 | |
|         self.Locations = [
 | |
|             Location(self, 256+115, 0x308162, LocationType.HeraStandingKey, "Tower of Hera - Basement Cage"),
 | |
|             Location(self, 256+116, 0x1E9AD, LocationType.Regular, "Tower of Hera - Map Chest"),
 | |
|             Location(self, 256+117, 0x1E9E6, LocationType.Regular, "Tower of Hera - Big Key Chest",
 | |
|                 lambda items: items.KeyTH and items.CanLightTorches())
 | |
|                 .AlwaysAllow(lambda item, items: item.Is(ItemType.KeyTH, self.world)),
 | |
|             Location(self, 256+118, 0x1E9FB, LocationType.Regular, "Tower of Hera - Compass Chest",
 | |
|                 lambda items: items.BigKeyTH),
 | |
|             Location(self, 256+119, 0x1E9F8, LocationType.Regular, "Tower of Hera - Big Chest",
 | |
|                 lambda items: items.BigKeyTH),
 | |
|             Location(self, 256+120, 0x308152, LocationType.Regular, "Tower of Hera - Moldorm",
 | |
|                 lambda items: items.BigKeyTH and self.CanBeatBoss(items)),
 | |
|             ]
 | |
| 
 | |
|     def CanBeatBoss(self, items: Progression):
 | |
|         return items.Sword or items.Hammer
 | |
| 
 | |
|     def CanEnter(self, items: Progression):
 | |
|         return (items.Mirror or items.Hookshot and items.Hammer) and self.world.CanEnter("Light World Death Mountain West", items)
 | |
| 
 | |
|     def CanComplete(self, items: Progression):
 | |
|         return self.GetLocation("Tower of Hera - Moldorm").Available(items)
 |