Update ArchipIDLE item count to 200, and add a few more items (#1627)
This commit is contained in:
parent
a5373e3672
commit
f3dad894ec
|
@ -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',
|
||||
)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue