From f1984a103ddef234d9d0c307185da38b630de9c5 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 13 Mar 2022 15:31:27 -0400 Subject: [PATCH 1/5] [ArchipIDLE] Set only 20 items as progressive --- worlds/archipidle/Rules.py | 8 ++++---- worlds/archipidle/__init__.py | 9 +++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/worlds/archipidle/Rules.py b/worlds/archipidle/Rules.py index 1d9efd4d..c217c353 100644 --- a/worlds/archipidle/Rules.py +++ b/worlds/archipidle/Rules.py @@ -14,13 +14,13 @@ class ArchipIDLELogic(LogicMixin): def set_rules(world: MultiWorld, player: int): - for i in range(1, 11): + for i in range(1, 16): set_rule( world.get_location(f"Location {i}", player), lambda state: state._archipidle_location_is_accessible(player, 0) ) - for i in range(11, 31): + for i in range(16, 31): set_rule( world.get_location(f"Location {i}", player), lambda state: state._archipidle_location_is_accessible(player, 4) @@ -29,11 +29,11 @@ def set_rules(world: MultiWorld, player: int): for i in range(31, 51): set_rule( world.get_location(f"Location {i}", player), - lambda state: state._archipidle_location_is_accessible(player, 20) + lambda state: state._archipidle_location_is_accessible(player, 10) ) for i in range(51, 101): set_rule( world.get_location(f"Location {i}", player), - lambda state: state._archipidle_location_is_accessible(player, 35) + lambda state: state._archipidle_location_is_accessible(player, 20) ) diff --git a/worlds/archipidle/__init__.py b/worlds/archipidle/__init__.py index 1146fc2a..1f9c1369 100644 --- a/worlds/archipidle/__init__.py +++ b/worlds/archipidle/__init__.py @@ -27,7 +27,12 @@ class ArchipIDLEWorld(World): item_pool = [] for i in range(100): - item = Item(item_table[i], True, self.item_name_to_id[item_table[i]], self.player) + item = Item( + item_table[i], + self.item_name_to_id[item_table[i]] < 9020, + self.item_name_to_id[item_table[i]], + self.player + ) item.game = 'ArchipIDLE' item_pool.append(item) @@ -37,7 +42,7 @@ class ArchipIDLEWorld(World): set_rules(self.world, self.player) def create_item(self, name: str) -> Item: - return Item(name, True, self.item_name_to_id[name], self.player) + return Item(name, self.item_name_to_id[name] < 9020, self.item_name_to_id[name], self.player) def create_regions(self): self.world.regions += [ From 67d59067eb5e3ba29b3ea9cca1138ad703240eb2 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 13 Mar 2022 20:39:13 -0400 Subject: [PATCH 2/5] [ArchipIDLE] Use shuffled item_table during generation --- worlds/archipidle/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/worlds/archipidle/__init__.py b/worlds/archipidle/__init__.py index 1f9c1369..80ef2dd0 100644 --- a/worlds/archipidle/__init__.py +++ b/worlds/archipidle/__init__.py @@ -28,9 +28,9 @@ class ArchipIDLEWorld(World): item_pool = [] for i in range(100): item = Item( - item_table[i], - self.item_name_to_id[item_table[i]] < 9020, - self.item_name_to_id[item_table[i]], + item_table_copy[i], + i < 20, + self.item_name_to_id[item_table_copy[i]], self.player ) item.game = 'ArchipIDLE' @@ -42,7 +42,7 @@ class ArchipIDLEWorld(World): set_rules(self.world, self.player) def create_item(self, name: str) -> Item: - return Item(name, self.item_name_to_id[name] < 9020, self.item_name_to_id[name], self.player) + return Item(name, True, self.item_name_to_id[name], self.player) def create_regions(self): self.world.regions += [ From b5ce6f0bb0ade51c05ed106ed2bb7f1304b1d897 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 13 Mar 2022 20:42:20 -0400 Subject: [PATCH 3/5] [ArchipIDLE] Fix inefficiency caused by indentation error --- worlds/archipidle/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/archipidle/__init__.py b/worlds/archipidle/__init__.py index 80ef2dd0..68e65aa7 100644 --- a/worlds/archipidle/__init__.py +++ b/worlds/archipidle/__init__.py @@ -36,7 +36,7 @@ class ArchipIDLEWorld(World): item.game = 'ArchipIDLE' item_pool.append(item) - self.world.itempool = item_pool + self.world.itempool = item_pool def set_rules(self): set_rules(self.world, self.player) From 0714be6b73f2ee90172d87ae1a35d72630294ebd Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 13 Mar 2022 20:44:08 -0400 Subject: [PATCH 4/5] [ArchipIDLE] Prevent overwriting global item pool --- worlds/archipidle/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/archipidle/__init__.py b/worlds/archipidle/__init__.py index 68e65aa7..6dda72fd 100644 --- a/worlds/archipidle/__init__.py +++ b/worlds/archipidle/__init__.py @@ -36,7 +36,7 @@ class ArchipIDLEWorld(World): item.game = 'ArchipIDLE' item_pool.append(item) - self.world.itempool = item_pool + self.world.itempool += item_pool def set_rules(self): set_rules(self.world, self.player) From 0c57af40dcfd475a698dcd7592cde678fb64f88b Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 13 Mar 2022 22:56:46 -0400 Subject: [PATCH 5/5] [ArchipIDLE] Rename locations to indicate the time required to wait --- worlds/archipidle/Rules.py | 8 ++++---- worlds/archipidle/__init__.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/worlds/archipidle/Rules.py b/worlds/archipidle/Rules.py index c217c353..a2464a53 100644 --- a/worlds/archipidle/Rules.py +++ b/worlds/archipidle/Rules.py @@ -16,24 +16,24 @@ class ArchipIDLELogic(LogicMixin): def set_rules(world: MultiWorld, player: int): for i in range(1, 16): set_rule( - world.get_location(f"Location {i}", player), + world.get_location(f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player), lambda state: state._archipidle_location_is_accessible(player, 0) ) for i in range(16, 31): set_rule( - world.get_location(f"Location {i}", player), + world.get_location(f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player), lambda state: state._archipidle_location_is_accessible(player, 4) ) for i in range(31, 51): set_rule( - world.get_location(f"Location {i}", player), + world.get_location(f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player), lambda state: state._archipidle_location_is_accessible(player, 10) ) for i in range(51, 101): set_rule( - world.get_location(f"Location {i}", player), + world.get_location(f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player), lambda state: state._archipidle_location_is_accessible(player, 20) ) diff --git a/worlds/archipidle/__init__.py b/worlds/archipidle/__init__.py index 6dda72fd..7b2f8717 100644 --- a/worlds/archipidle/__init__.py +++ b/worlds/archipidle/__init__.py @@ -18,7 +18,7 @@ class ArchipIDLEWorld(World): location_name_to_id = {} start_id = 9000 for i in range(1, 101): - location_name_to_id[f"Location {i}"] = start_id + location_name_to_id[f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds"] = start_id start_id += 1 def generate_basic(self):