Update ArchipIDLE item count to 200, and add a few more items (#1627)

This commit is contained in:
Chris Wilson 2023-03-29 21:27:35 -04:00 committed by GitHub
parent a5373e3672
commit f3dad894ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 9 deletions

View File

@ -300,4 +300,13 @@ item_table = (
'Roomba with a Knife',
'Wet Cat',
'The missing moderator, Frostwares',
'1,793 Crossbows',
'Holographic First Edition Charizard (Gen 1)',
'VR Headset',
'Archipelago 1.0 Release Date',
'Strand of Galadriel\'s Hair',
'Can of Meow-Mix',
'Shake-Weight',
'DVD Collection of Billy Mays Infomercials',
'Old CD Key',
)

View File

@ -16,22 +16,28 @@ class ArchipIDLELogic(LogicMixin):
def set_rules(world: MultiWorld, player: int):
for i in range(16, 31):
set_rule(
world.get_location(f"IDLE for at least {int(i / 2)} minutes {30 if (i % 2) else 0} seconds", player),
world.get_location(f"IDLE item number {i}", player),
lambda state: state._archipidle_location_is_accessible(player, 4)
)
for i in range(31, 51):
set_rule(
world.get_location(f"IDLE for at least {int(i / 2)} minutes {30 if (i % 2) else 0} seconds", player),
world.get_location(f"IDLE item number {i}", player),
lambda state: state._archipidle_location_is_accessible(player, 10)
)
for i in range(51, 101):
set_rule(
world.get_location(f"IDLE for at least {int(i / 2)} minutes {30 if (i % 2) else 0} seconds", player),
world.get_location(f"IDLE item number {i}", player),
lambda state: state._archipidle_location_is_accessible(player, 20)
)
for i in range(101, 201):
set_rule(
world.get_location(f"IDLE item number {i}", player),
lambda state: state._archipidle_location_is_accessible(player, 40)
)
world.completion_condition[player] =\
lambda state:\
state.can_reach(world.get_location("IDLE for at least 50 minutes 0 seconds", player), "Location", player)
state.can_reach(world.get_location("IDLE item number 200", player), "Location", player)

View File

@ -25,7 +25,7 @@ class ArchipIDLEWorld(World):
"""
game = "ArchipIDLE"
topology_present = False
data_version = 4
data_version = 5
hidden = (datetime.now().month != 4) # ArchipIDLE is only visible during April
web = ArchipIDLEWebWorld()
@ -37,8 +37,8 @@ class ArchipIDLEWorld(World):
location_name_to_id = {}
start_id = 9000
for i in range(1, 101):
location_name_to_id[f"IDLE for at least {int(i / 2)} minutes {30 if (i % 2) else 0} seconds"] = start_id
for i in range(1, 201):
location_name_to_id[f"IDLE item number {i}"] = start_id
start_id += 1
def generate_basic(self):
@ -46,10 +46,10 @@ class ArchipIDLEWorld(World):
self.multiworld.random.shuffle(item_table_copy)
item_pool = []
for i in range(100):
for i in range(200):
item = ArchipIDLEItem(
item_table_copy[i],
ItemClassification.progression if i < 20 else ItemClassification.filler,
ItemClassification.progression if i < 40 else ItemClassification.filler,
self.item_name_to_id[item_table_copy[i]],
self.player
)