def UpdateCompassPointer(self, location: Location) -> None: assert location.IsLevelRoom() (level_num, room_num) = (location.GetLevelNum(), location.GetRoomNum()) #room = self.GetRoom(location.GetLevelNum(), room_num) assert room_num in range(0, 0x100) self.level_metadata[level_num * self.LEVEL_METADATA_OFFSET + self.TRIFORCE_LOCATION_OFFSET] = room_num
def SetRoomItem(self, item: Item, location: Location) -> None: assert location.IsLevelRoom() if location.GetLevelNum() in [7, 8, 9]: self.level_7_to_9_rooms[location.GetRoomNum()].SetItem(item) else: self.level_1_to_6_rooms[location.GetRoomNum()].SetItem(item)
def GetRoomItem(self, location: Location) -> Item: assert location.IsLevelRoom() if location.GetLevelNum() in [7, 8, 9]: return self.level_7_to_9_rooms[location.GetRoomNum()].GetItem() return self.level_1_to_6_rooms[location.GetRoomNum()].GetItem()