From 065931cae77ceeceed099b14f229bd1ddd19efc7 Mon Sep 17 00:00:00 2001 From: Jarno Westhof Date: Mon, 11 Oct 2021 11:41:45 +0200 Subject: [PATCH] Greatly reduced number of items marked as never_excluded due to the performance implications it brings --- worlds/timespinner/Items.py | 80 +++++++++++++++++----------------- worlds/timespinner/__init__.py | 4 +- 2 files changed, 41 insertions(+), 43 deletions(-) diff --git a/worlds/timespinner/Items.py b/worlds/timespinner/Items.py index cfa1bc45..ada37630 100644 --- a/worlds/timespinner/Items.py +++ b/worlds/timespinner/Items.py @@ -22,8 +22,8 @@ item_table: Dict[str, ItemData] = { 'Combat Helmet': ItemData('Equipment', 1337010, 0), 'Captain\'s Cap': ItemData('Equipment', 1337011), 'Lab Glasses': ItemData('Equipment', 1337012), - 'Empire Crown': ItemData('Equipment', 1337013, never_exclude=True), - 'Viletian Crown': ItemData('Equipment', 1337014, never_exclude=True), + 'Empire Crown': ItemData('Equipment', 1337013), + 'Viletian Crown': ItemData('Equipment', 1337014), 'Sunglasses': ItemData('Equipment', 1337015, 0), 'Old Coat': ItemData('Equipment', 1337016), 'Trendy Jacket': ItemData('Equipment', 1337017, 0), @@ -38,8 +38,8 @@ item_table: Dict[str, ItemData] = { 'Military Armor': ItemData('Equipment', 1337026, 0), 'Captain\'s Uniform': ItemData('Equipment', 1337027), 'Lab Coat': ItemData('Equipment', 1337028), - 'Empress Robe': ItemData('Equipment', 1337029, never_exclude=True), - 'Princess Dress': ItemData('Equipment', 1337030, never_exclude=True), + 'Empress Robe': ItemData('Equipment', 1337029), + 'Princess Dress': ItemData('Equipment', 1337030), 'Eternal Coat': ItemData('Equipment', 1337031, never_exclude=True), 'Synthetic Plume': ItemData('Equipment', 1337032, 0), 'Cheveur Plume': ItemData('Equipment', 1337033, 0), @@ -50,9 +50,9 @@ item_table: Dict[str, ItemData] = { 'Chaos Stole': ItemData('Equipment', 1337038, 0), 'Pendulum': ItemData('Equipment', 1337039, never_exclude=True), 'Chaos Horn': ItemData('Equipment', 1337040, 0), - 'Filigree Clasp': ItemData('Equipment', 1337041, never_exclude=True), + 'Filigree Clasp': ItemData('Equipment', 1337041), 'Azure Stole': ItemData('Equipment', 1337042, 0), - 'Ancient Coin': ItemData('Equipment', 1337043, never_exclude=True), + 'Ancient Coin': ItemData('Equipment', 1337043), 'Shiny Rock': ItemData('Equipment', 1337044, 0), 'Galaxy Earrings': ItemData('Equipment', 1337045, never_exclude=True), 'Selen\'s Bangle': ItemData('Equipment', 1337046, never_exclude=True), @@ -140,42 +140,42 @@ item_table: Dict[str, ItemData] = { 'Wyrm Brooch': ItemData('Relic', 1337128), 'Greed Brooch': ItemData('Relic', 1337129), 'Eternal Brooch': ItemData('Relic', 1337130), - 'Blue Orb': ItemData('Orb Melee', 1337131, never_exclude=True), - 'Blade Orb': ItemData('Orb Melee', 1337132, never_exclude=True), - 'Fire Orb': ItemData('Orb Melee', 1337133, never_exclude=True, progression=True), - 'Plasma Orb': ItemData('Orb Melee', 1337134, never_exclude=True, progression=True), - 'Iron Orb': ItemData('Orb Melee', 1337135, never_exclude=True), - 'Ice Orb': ItemData('Orb Melee', 1337136, never_exclude=True), - 'Wind Orb': ItemData('Orb Melee', 1337137, never_exclude=True), - 'Gun Orb': ItemData('Orb Melee', 1337138, never_exclude=True), - 'Umbra Orb': ItemData('Orb Melee', 1337139, never_exclude=True), - 'Empire Orb': ItemData('Orb Melee', 1337140, never_exclude=True), - 'Eye Orb': ItemData('Orb Melee', 1337141, never_exclude=True), - 'Blood Orb': ItemData('Orb Melee', 1337142, never_exclude=True), - 'Forbidden Tome': ItemData('Orb Melee', 1337143, never_exclude=True), - 'Shattered Orb': ItemData('Orb Melee', 1337144, never_exclude=True), - 'Nether Orb': ItemData('Orb Melee', 1337145, never_exclude=True), - 'Radiant Orb': ItemData('Orb Melee', 1337146, never_exclude=True), - 'Aura Blast': ItemData('Orb Spell', 1337147, never_exclude=True), - 'Colossal Blade': ItemData('Orb Spell', 1337148, never_exclude=True), - 'Infernal Flames': ItemData('Orb Spell', 1337149, never_exclude=True, progression=True), - 'Plasma Geyser': ItemData('Orb Spell', 1337150, never_exclude=True, progression=True), - 'Colossal Hammer': ItemData('Orb Spell', 1337151, never_exclude=True), - 'Frozen Spires': ItemData('Orb Spell', 1337152, never_exclude=True), - 'Storm Eye': ItemData('Orb Spell', 1337153, never_exclude=True), - 'Arm Cannon': ItemData('Orb Spell', 1337154, never_exclude=True), - 'Dark Flames': ItemData('Orb Spell', 1337155, never_exclude=True), - 'Aura Serpent': ItemData('Orb Spell', 1337156, never_exclude=True), - 'Chaos Blades': ItemData('Orb Spell', 1337157, never_exclude=True), - 'Crimson Vortex': ItemData('Orb Spell', 1337158, never_exclude=True), - 'Djinn Inferno': ItemData('Orb Spell', 1337159, never_exclude=True, progression=True), - 'Bombardment': ItemData('Orb Spell', 1337160, never_exclude=True), - 'Corruption': ItemData('Orb Spell', 1337161, never_exclude=True), - 'Lightwall': ItemData('Orb Spell', 1337162, never_exclude=True, progression=True), + 'Blue Orb': ItemData('Orb Melee', 1337131), + 'Blade Orb': ItemData('Orb Melee', 1337132), + 'Fire Orb': ItemData('Orb Melee', 1337133, progression=True), + 'Plasma Orb': ItemData('Orb Melee', 1337134, progression=True), + 'Iron Orb': ItemData('Orb Melee', 1337135), + 'Ice Orb': ItemData('Orb Melee', 1337136), + 'Wind Orb': ItemData('Orb Melee', 1337137), + 'Gun Orb': ItemData('Orb Melee', 1337138), + 'Umbra Orb': ItemData('Orb Melee', 1337139), + 'Empire Orb': ItemData('Orb Melee', 1337140), + 'Eye Orb': ItemData('Orb Melee', 1337141), + 'Blood Orb': ItemData('Orb Melee', 1337142), + 'Forbidden Tome': ItemData('Orb Melee', 1337143), + 'Shattered Orb': ItemData('Orb Melee', 1337144), + 'Nether Orb': ItemData('Orb Melee', 1337145), + 'Radiant Orb': ItemData('Orb Melee', 1337146), + 'Aura Blast': ItemData('Orb Spell', 1337147), + 'Colossal Blade': ItemData('Orb Spell', 1337148), + 'Infernal Flames': ItemData('Orb Spell', 1337149, progression=True), + 'Plasma Geyser': ItemData('Orb Spell', 1337150, progression=True), + 'Colossal Hammer': ItemData('Orb Spell', 1337151), + 'Frozen Spires': ItemData('Orb Spell', 1337152), + 'Storm Eye': ItemData('Orb Spell', 1337153), + 'Arm Cannon': ItemData('Orb Spell', 1337154), + 'Dark Flames': ItemData('Orb Spell', 1337155), + 'Aura Serpent': ItemData('Orb Spell', 1337156), + 'Chaos Blades': ItemData('Orb Spell', 1337157), + 'Crimson Vortex': ItemData('Orb Spell', 1337158), + 'Djinn Inferno': ItemData('Orb Spell', 1337159, progression=True), + 'Bombardment': ItemData('Orb Spell', 1337160), + 'Corruption': ItemData('Orb Spell', 1337161), + 'Lightwall': ItemData('Orb Spell', 1337162, progression=True), 'Bleak Ring': ItemData('Orb Passive', 1337163, never_exclude=True), 'Scythe Ring': ItemData('Orb Passive', 1337164), - 'Pyro Ring': ItemData('Orb Passive', 1337165, never_exclude=True, progression=True), - 'Royal Ring': ItemData('Orb Passive', 1337166, never_exclude=True, progression=True), + 'Pyro Ring': ItemData('Orb Passive', 1337165, progression=True), + 'Royal Ring': ItemData('Orb Passive', 1337166, progression=True), 'Shield Ring': ItemData('Orb Passive', 1337167), 'Icicle Ring': ItemData('Orb Passive', 1337168), 'Tailwind Ring': ItemData('Orb Passive', 1337169), diff --git a/worlds/timespinner/__init__.py b/worlds/timespinner/__init__.py index a475aba6..468e2b78 100644 --- a/worlds/timespinner/__init__.py +++ b/worlds/timespinner/__init__.py @@ -144,9 +144,7 @@ def create_item_with_correct_settings(world: MultiWorld, player: int, name: str) data = item_table[name] item = Item(name, data.progression, data.code, player) - - if world.exclude_locations[player]: # Doubles performance to not set item exclusion when its not required - item.never_exclude = data.never_exclude + item.never_exclude = data.never_exclude if not item.advancement: return item