Remove cap upgrades for hard/expert
Replace cap upgrades with red rupees in shopsanity
This commit is contained in:
55
ItemList.py
55
ItemList.py
@@ -303,7 +303,11 @@ def generate_itempool(world, player):
|
|||||||
if shop.region.name in shop_to_location_table:
|
if shop.region.name in shop_to_location_table:
|
||||||
for index, slot in enumerate(shop.inventory):
|
for index, slot in enumerate(shop.inventory):
|
||||||
if slot:
|
if slot:
|
||||||
pool.append(slot['item'])
|
item = slot['item']
|
||||||
|
if shop.region.name == 'Capacity Upgrade' and world.difficulty[player] != 'normal':
|
||||||
|
pool.append('Rupees (20)')
|
||||||
|
else:
|
||||||
|
pool.append(item)
|
||||||
|
|
||||||
items = ItemFactory(pool, player)
|
items = ItemFactory(pool, player)
|
||||||
if world.shopsanity[player]:
|
if world.shopsanity[player]:
|
||||||
@@ -556,30 +560,31 @@ def customize_shops(world, player):
|
|||||||
shopkeeper = random.choice([0xC1, 0xA0, 0xE2, 0xE3])
|
shopkeeper = random.choice([0xC1, 0xA0, 0xE2, 0xE3])
|
||||||
shop.shopkeeper_config = shopkeeper
|
shop.shopkeeper_config = shopkeeper
|
||||||
# handle capacity upgrades - randomly choose a bomb bunch or arrow bunch to become capacity upgrades
|
# handle capacity upgrades - randomly choose a bomb bunch or arrow bunch to become capacity upgrades
|
||||||
if not found_bomb_upgrade and len(possible_replacements) > 0:
|
if world.difficulty[player] == 'normal':
|
||||||
choices = []
|
if not found_bomb_upgrade and len(possible_replacements) > 0:
|
||||||
for shop, idx, loc, item in possible_replacements:
|
choices = []
|
||||||
if item.name in ['Bombs (3)', 'Bombs (10)']:
|
for shop, idx, loc, item in possible_replacements:
|
||||||
choices.append((shop, idx, loc, item))
|
if item.name in ['Bombs (3)', 'Bombs (10)']:
|
||||||
if len(choices) > 0:
|
choices.append((shop, idx, loc, item))
|
||||||
shop, idx, loc, item = random.choice(choices)
|
if len(choices) > 0:
|
||||||
upgrade = ItemFactory('Bomb Upgrade (+5)', player)
|
shop, idx, loc, item = random.choice(choices)
|
||||||
shop.add_inventory(idx, upgrade.name, randomize_price(upgrade.price), 6,
|
upgrade = ItemFactory('Bomb Upgrade (+5)', player)
|
||||||
item.name, randomize_price(item.price), player=item.player)
|
shop.add_inventory(idx, upgrade.name, randomize_price(upgrade.price), 6,
|
||||||
loc.item = upgrade
|
item.name, randomize_price(item.price), player=item.player)
|
||||||
upgrade.location = loc
|
loc.item = upgrade
|
||||||
if not found_arrow_upgrade and len(possible_replacements) > 0:
|
upgrade.location = loc
|
||||||
choices = []
|
if not found_arrow_upgrade and len(possible_replacements) > 0:
|
||||||
for shop, idx, loc, item in possible_replacements:
|
choices = []
|
||||||
if item.name == 'Arrows (10)' or (item.name == 'Single Arrow' and not world.retro[player]):
|
for shop, idx, loc, item in possible_replacements:
|
||||||
choices.append((shop, idx, loc, item))
|
if item.name == 'Arrows (10)' or (item.name == 'Single Arrow' and not world.retro[player]):
|
||||||
if len(choices) > 0:
|
choices.append((shop, idx, loc, item))
|
||||||
shop, idx, loc, item = random.choice(choices)
|
if len(choices) > 0:
|
||||||
upgrade = ItemFactory('Arrow Upgrade (+5)', player)
|
shop, idx, loc, item = random.choice(choices)
|
||||||
shop.add_inventory(idx, upgrade.name, randomize_price(upgrade.price), 6,
|
upgrade = ItemFactory('Arrow Upgrade (+5)', player)
|
||||||
item.name, randomize_price(item.price), player=item.player)
|
shop.add_inventory(idx, upgrade.name, randomize_price(upgrade.price), 6,
|
||||||
loc.item = upgrade
|
item.name, randomize_price(item.price), player=item.player)
|
||||||
upgrade.location = loc
|
loc.item = upgrade
|
||||||
|
upgrade.location = loc
|
||||||
change_shop_items_to_rupees(world, player, shops_to_customize)
|
change_shop_items_to_rupees(world, player, shops_to_customize)
|
||||||
balance_prices(world, player)
|
balance_prices(world, player)
|
||||||
|
|
||||||
|
|||||||
3
Rom.py
3
Rom.py
@@ -1600,6 +1600,9 @@ def write_custom_shops(rom, world, player):
|
|||||||
loc_item = world.get_location(retro_shops[shop.region.name][index], player).item
|
loc_item = world.get_location(retro_shops[shop.region.name][index], player).item
|
||||||
else:
|
else:
|
||||||
loc_item = ItemFactory(item['item'], player)
|
loc_item = ItemFactory(item['item'], player)
|
||||||
|
if (not world.shopsanity[player] and shop.region.name == 'Capacity Upgrade'
|
||||||
|
and world.difficulty[player] != 'normal'):
|
||||||
|
continue # skip cap upgrades except in normal/shopsanity
|
||||||
item_id = loc_item.code
|
item_id = loc_item.code
|
||||||
price = int16_as_bytes(item['price'])
|
price = int16_as_bytes(item['price'])
|
||||||
replace = ItemFactory(item['replacement'], player).code if item['replacement'] else 0xFF
|
replace = ItemFactory(item['replacement'], player).code if item['replacement'] else 0xFF
|
||||||
|
|||||||
Reference in New Issue
Block a user