diff --git a/ItemList.py b/ItemList.py index 8ce8a5f4..c6922287 100644 --- a/ItemList.py +++ b/ItemList.py @@ -32,7 +32,7 @@ normalfinal25extra = ['Rupees (20)'] * 23 + ['Rupees (5)'] * 2 Difficulty = namedtuple('Difficulty', ['baseitems', 'bottles', 'bottle_count', 'same_bottle', 'progressiveshield', 'basicshield', 'progressivearmor', 'basicarmor', 'swordless', - 'progressivesword', 'basicsword', 'basicbow', 'timedohko', 'timedother', + 'progressivesword', 'basicsword', 'progressivebow', 'basicbow', 'timedohko', 'timedother', 'triforcehunt', 'retro', 'extras', 'progressive_sword_limit', 'progressive_shield_limit', 'progressive_armor_limit', 'progressive_bottle_limit', @@ -43,78 +43,82 @@ total_items_to_place = 153 difficulties = { 'normal': Difficulty( baseitems = normalbaseitems, - bottles = normalbottles, - bottle_count = 4, - same_bottle = False, - progressiveshield = ['Progressive Shield'] * 3, - basicshield = ['Blue Shield', 'Red Shield', 'Mirror Shield'], - progressivearmor = ['Progressive Armor'] * 2, - basicarmor = ['Blue Mail', 'Red Mail'], - swordless = ['Rupees (20)'] * 4, - progressivesword = ['Progressive Sword'] * 4, - basicsword = ['Fighter Sword', 'Master Sword', 'Tempered Sword', 'Golden Sword'], - basicbow = ['Bow', 'Silver Bow'], - timedohko = ['Green Clock'] * 25, - timedother = ['Green Clock'] * 20 + ['Blue Clock'] * 10 + ['Red Clock'] * 10, - triforcehunt = ['Triforce Piece'] * 30, - retro = ['Small Key (Universal)'] * 18 + ['Rupees (20)'] * 10, - extras = [normalfirst15extra, normalsecond15extra, normalthird10extra, normalfourth5extra, normalfinal25extra], - progressive_sword_limit = 4, - progressive_shield_limit = 3, - progressive_armor_limit = 2, - progressive_bow_limit = 2, + bottles=normalbottles, + bottle_count=4, + same_bottle=False, + progressiveshield=['Progressive Shield'] * 3, + basicshield=['Blue Shield', 'Red Shield', 'Mirror Shield'], + progressivearmor=['Progressive Armor'] * 2, + basicarmor=['Blue Mail', 'Red Mail'], + swordless=['Rupees (20)'] * 4, + progressivesword=['Progressive Sword'] * 4, + basicsword=['Fighter Sword', 'Master Sword', 'Tempered Sword', 'Golden Sword'], + progressivebow=["Progressive Bow"] * 2, + basicbow=['Bow', 'Silver Bow'], + timedohko=['Green Clock'] * 25, + timedother=['Green Clock'] * 20 + ['Blue Clock'] * 10 + ['Red Clock'] * 10, + triforcehunt=['Triforce Piece'] * 30, + retro=['Small Key (Universal)'] * 18 + ['Rupees (20)'] * 10, + extras=[normalfirst15extra, normalsecond15extra, normalthird10extra, normalfourth5extra, normalfinal25extra], + progressive_sword_limit=4, + progressive_shield_limit=3, + progressive_armor_limit=2, + progressive_bow_limit=2, progressive_bottle_limit = 4, boss_heart_container_limit = 10, heart_piece_limit = 24, ), 'hard': Difficulty( baseitems = normalbaseitems, - bottles = hardbottles, - bottle_count = 4, - same_bottle = False, - progressiveshield = ['Progressive Shield'] * 3, - basicshield = ['Blue Shield', 'Red Shield', 'Red Shield'], - progressivearmor = ['Progressive Armor'] * 2, - basicarmor = ['Progressive Armor'] * 2, # neither will count - swordless = ['Rupees (20)'] * 4, - progressivesword = ['Progressive Sword'] * 4, - basicsword = ['Fighter Sword', 'Master Sword', 'Master Sword', 'Tempered Sword'], - basicbow = ['Bow'] * 2, - timedohko = ['Green Clock'] * 25, - timedother = ['Green Clock'] * 20 + ['Blue Clock'] * 10 + ['Red Clock'] * 10, - triforcehunt = ['Triforce Piece'] * 30, - retro = ['Small Key (Universal)'] * 12 + ['Rupees (5)'] * 16, - extras = [normalfirst15extra, normalsecond15extra, normalthird10extra, normalfourth5extra, normalfinal25extra], - progressive_sword_limit = 3, - progressive_shield_limit = 2, - progressive_armor_limit = 0, - progressive_bow_limit = 1, + bottles=hardbottles, + bottle_count=4, + same_bottle=False, + progressiveshield=['Progressive Shield'] * 3, + basicshield=['Blue Shield', 'Red Shield', 'Red Shield'], + progressivearmor=['Progressive Armor'] * 2, + basicarmor=['Progressive Armor'] * 2, # neither will count + swordless=['Rupees (20)'] * 4, + progressivesword=['Progressive Sword'] * 4, + basicsword=['Fighter Sword', 'Master Sword', 'Master Sword', 'Tempered Sword'], + progressivebow=["Progressive Bow"] * 2, + basicbow=['Bow'] * 2, + timedohko=['Green Clock'] * 25, + timedother=['Green Clock'] * 20 + ['Blue Clock'] * 10 + ['Red Clock'] * 10, + triforcehunt=['Triforce Piece'] * 30, + retro=['Small Key (Universal)'] * 12 + ['Rupees (5)'] * 16, + extras=[normalfirst15extra, normalsecond15extra, normalthird10extra, normalfourth5extra, normalfinal25extra], + progressive_sword_limit=3, + progressive_shield_limit=2, + progressive_armor_limit=0, + progressive_bow_limit=1, progressive_bottle_limit = 4, boss_heart_container_limit = 6, heart_piece_limit = 16, ), 'expert': Difficulty( baseitems = normalbaseitems, - bottles = hardbottles, - bottle_count = 4, - same_bottle = False, - progressiveshield = ['Progressive Shield'] * 3, - basicshield = ['Progressive Shield'] * 3, #only the first one will upgrade, making this equivalent to two blue shields - progressivearmor = ['Progressive Armor'] * 2, # neither will count - basicarmor = ['Progressive Armor'] * 2, # neither will count - swordless = ['Rupees (20)'] * 4, - progressivesword = ['Progressive Sword'] * 4, - basicsword = ['Fighter Sword', 'Fighter Sword', 'Master Sword', 'Master Sword'], - basicbow = ['Bow'] * 2, - timedohko = ['Green Clock'] * 20 + ['Red Clock'] * 5, - timedother = ['Green Clock'] * 20 + ['Blue Clock'] * 10 + ['Red Clock'] * 10, - triforcehunt = ['Triforce Piece'] * 30, - retro = ['Small Key (Universal)'] * 12 + ['Rupees (5)'] * 16, - extras = [normalfirst15extra, normalsecond15extra, normalthird10extra, normalfourth5extra, normalfinal25extra], - progressive_sword_limit = 2, - progressive_shield_limit = 1, - progressive_armor_limit = 0, - progressive_bow_limit = 1, + bottles=hardbottles, + bottle_count=4, + same_bottle=False, + progressiveshield=['Progressive Shield'] * 3, + basicshield=['Progressive Shield'] * 3, + # only the first one will upgrade, making this equivalent to two blue shields + progressivearmor=['Progressive Armor'] * 2, # neither will count + basicarmor=['Progressive Armor'] * 2, # neither will count + swordless=['Rupees (20)'] * 4, + progressivesword=['Progressive Sword'] * 4, + basicsword=['Fighter Sword', 'Fighter Sword', 'Master Sword', 'Master Sword'], + progressivebow=["Progressive Bow"] * 2, + basicbow=['Bow'] * 2, + timedohko=['Green Clock'] * 20 + ['Red Clock'] * 5, + timedother=['Green Clock'] * 20 + ['Blue Clock'] * 10 + ['Red Clock'] * 10, + triforcehunt=['Triforce Piece'] * 30, + retro=['Small Key (Universal)'] * 12 + ['Rupees (5)'] * 16, + extras=[normalfirst15extra, normalsecond15extra, normalthird10extra, normalfourth5extra, normalfinal25extra], + progressive_sword_limit=2, + progressive_shield_limit=1, + progressive_armor_limit=0, + progressive_bow_limit=1, progressive_bottle_limit = 4, boss_heart_container_limit = 2, heart_piece_limit = 8, @@ -468,7 +472,7 @@ def get_pool_core(world, player: int): pool.extend(diff.basicarmor) if want_progressives(): - pool.extend(['Progressive Bow'] * 2) + pool.extend(diff.progressivebow) elif swords != 'swordless': pool.extend(diff.basicbow) else: