ArchipIDLE "Improvements" (#366)

* Increase ArchipIDLE location count to 150

* Reduce location count per seed to 100. Game will now complete between 50 and 100 minutes.

* Add 50 more items to ArchipIDLE

* Update data_version to 2
This commit is contained in:
Chris Wilson 2022-03-30 21:34:39 -04:00 committed by GitHub
parent cebd7fb545
commit aabc86fc01
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 58 additions and 8 deletions

View File

@ -22,7 +22,7 @@ item_table = (
'One-Up Mushroom', 'One-Up Mushroom',
'Nokia N-GAGE', 'Nokia N-GAGE',
'2-Liter of Sprite', '2-Liter of Sprite',
'Free trial of the critically acclaimed MMORPG Final Fantasy XIV, including the entirety of A Realm Reborn and the award winning Heavenasward expansion up to level 60 for free with no restrictions on playtime!', 'Free trial of the critically acclaimed MMORPG Final Fantasy XIV, including the entirety of A Realm Reborn and the award winning Heavenasward expansion up to level 60 with no restrictions on playtime!',
'Can of Compressed Air', 'Can of Compressed Air',
'Striped Kitten', 'Striped Kitten',
'USB Power Adapter', 'USB Power Adapter',
@ -30,7 +30,7 @@ item_table = (
'Nintendo Power Glove', 'Nintendo Power Glove',
'The Lampshade of No Real Significance', 'The Lampshade of No Real Significance',
'Kneepads of Allure', 'Kneepads of Allure',
'Get-Out-Of-Jail-Free Card', 'Get Out of Jail Free Card',
'Box Set of Stargate SG-1 Season 4', 'Box Set of Stargate SG-1 Season 4',
'The Missing Left Sock', 'The Missing Left Sock',
'Poster Tube', 'Poster Tube',
@ -199,4 +199,54 @@ item_table = (
'Delicious Tacos', 'Delicious Tacos',
'The Krabby Patty Recipe', 'The Krabby Patty Recipe',
'Map to Waldo\'s Location', 'Map to Waldo\'s Location',
'Stray Cat',
'Ham and Cheese Sandwich',
'DVD Player',
'Motorcycle Helmet',
'Fake Flowers',
'6-Pack of Sponges',
'Heated Pants',
'Empty Glass Bottle',
'Brown Paper Bag',
'Model Train Set',
'TV Remote',
'RC Car',
'Super Soaker 9000',
'Giant Sunglasses',
'World\'s Smallest Violin',
'Pile of Fresh Warm Laundry',
'Half-Empty Ice Cube Tray',
'Bob Ross Afro Wig',
'Empty Cardboard Box',
'Packet of Soy Sauce',
'Solutions to a Math Test',
'Pencil Eraser',
'The Great Pumpkin',
'Very Expensive Toaster',
'Pack of Colored Sharpies',
'Bag of Chocolate Chips',
'Grandma\'s Homemade Cookies',
'Collection of Bottle Caps',
'Pack of Playing Cards',
'Boom Box',
'Toy Sail Boat',
'Smooth Nail File',
'Colored Chalk',
'Missing Button',
'Rubber Band Ball',
'Joystick',
'Galaga Arcade Cabinet',
'Anime Mouse Pad',
'Orange and Yellow Glow Sticks',
'Odd Bookmark',
'Stray Dice',
'Tooth Picks',
'Dirty Dishes',
'Poke\'mon Card Game Rule Book (Gen 1)',
'Salt Shaker',
'Digital Thermometer',
'Infinite Improbability Drive',
'Fire Extinguisher',
'Beeping Smoke Alarm',
'Greasy Spatula',
) )

View File

@ -16,24 +16,24 @@ class ArchipIDLELogic(LogicMixin):
def set_rules(world: MultiWorld, player: int): def set_rules(world: MultiWorld, player: int):
for i in range(1, 16): for i in range(1, 16):
set_rule( set_rule(
world.get_location(f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player), world.get_location(f"IDLE for at least {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player),
lambda state: state._archipidle_location_is_accessible(player, 0) lambda state: state._archipidle_location_is_accessible(player, 0)
) )
for i in range(16, 31): for i in range(16, 31):
set_rule( set_rule(
world.get_location(f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player), world.get_location(f"IDLE for at least {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player),
lambda state: state._archipidle_location_is_accessible(player, 4) lambda state: state._archipidle_location_is_accessible(player, 4)
) )
for i in range(31, 51): for i in range(31, 51):
set_rule( set_rule(
world.get_location(f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player), world.get_location(f"IDLE for at least {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player),
lambda state: state._archipidle_location_is_accessible(player, 10) lambda state: state._archipidle_location_is_accessible(player, 10)
) )
for i in range(51, 101): for i in range(51, 101):
set_rule( set_rule(
world.get_location(f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player), world.get_location(f"IDLE for at least {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds", player),
lambda state: state._archipidle_location_is_accessible(player, 20) lambda state: state._archipidle_location_is_accessible(player, 20)
) )

View File

@ -14,7 +14,7 @@ class ArchipIDLEWorld(World):
""" """
game = "ArchipIDLE" game = "ArchipIDLE"
topology_present = False topology_present = False
data_version = 1 data_version = 2
web = ArchipIDLEWebWorld() web = ArchipIDLEWebWorld()
item_name_to_id = {} item_name_to_id = {}
@ -26,7 +26,7 @@ class ArchipIDLEWorld(World):
location_name_to_id = {} location_name_to_id = {}
start_id = 9000 start_id = 9000
for i in range(1, 101): for i in range(1, 101):
location_name_to_id[f"IDLE for {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds"] = start_id location_name_to_id[f"IDLE for at least {int(i / 2)} minutes {30 if (i % 2) > 0 else 0} seconds"] = start_id
start_id += 1 start_id += 1
def generate_basic(self): def generate_basic(self):