Start of pikit mode
This commit is contained in:
@@ -1159,10 +1159,10 @@ def get_pool_core(world, player, progressive, shuffle, difficulty, treasure_hunt
|
|||||||
thisbottle = random.choice(diff.bottles)
|
thisbottle = random.choice(diff.bottles)
|
||||||
pool.append(thisbottle)
|
pool.append(thisbottle)
|
||||||
|
|
||||||
if want_progressives():
|
# if want_progressives():
|
||||||
pool.extend(diff.progressiveshield)
|
# pool.extend(diff.progressiveshield)
|
||||||
else:
|
# else:
|
||||||
pool.extend(diff.basicshield)
|
# pool.extend(diff.basicshield)
|
||||||
|
|
||||||
if want_progressives():
|
if want_progressives():
|
||||||
pool.extend(diff.progressivearmor)
|
pool.extend(diff.progressivearmor)
|
||||||
|
|||||||
@@ -1178,7 +1178,7 @@ def create_shops(world, player):
|
|||||||
if (world.is_tile_swapped(0x35, player) and region_name == 'Dark Lake Hylia Shop') \
|
if (world.is_tile_swapped(0x35, player) and region_name == 'Dark Lake Hylia Shop') \
|
||||||
or (not world.is_tile_swapped(0x35, player) and region_name == 'Lake Hylia Shop'):
|
or (not world.is_tile_swapped(0x35, player) and region_name == 'Lake Hylia Shop'):
|
||||||
locked = True
|
locked = True
|
||||||
inventory = [('Blue Potion', 160), ('Blue Shield', 50), ('Bombs (10)', 50)]
|
inventory = [('Blue Potion', 160), ('Small Heart', 10), ('Bombs (10)', 50)]
|
||||||
custom = True
|
custom = True
|
||||||
region = world.get_region(region_name, player)
|
region = world.get_region(region_name, player)
|
||||||
shop = Shop(region, room_id, type, shopkeeper, custom, locked, sram)
|
shop = Shop(region, room_id, type, shopkeeper, custom, locked, sram)
|
||||||
@@ -1366,11 +1366,11 @@ bonk_table_by_location = {y: x for x, y in bonk_table_by_location_id.items()}
|
|||||||
# (room_id, type, shopkeeper, custom, locked, [items])
|
# (room_id, type, shopkeeper, custom, locked, [items])
|
||||||
# item = (item, price, max=0, replacement=None, replacement_price=0)
|
# item = (item, price, max=0, replacement=None, replacement_price=0)
|
||||||
_basic_shop_defaults = [('Red Potion', 150), ('Small Heart', 10), ('Bombs (10)', 50)]
|
_basic_shop_defaults = [('Red Potion', 150), ('Small Heart', 10), ('Bombs (10)', 50)]
|
||||||
_dark_world_shop_defaults = [('Red Potion', 150), ('Blue Shield', 50), ('Bombs (10)', 50)]
|
_dark_world_shop_defaults = [('Red Potion', 150), ('Small Heart', 10), ('Bombs (10)', 50)]
|
||||||
shop_table = {
|
shop_table = {
|
||||||
'Dark Death Mountain Shop': (0x0112, ShopType.Shop, 0xC1, False, False, _basic_shop_defaults, 0),
|
'Dark Death Mountain Shop': (0x0112, ShopType.Shop, 0xC1, False, False, _basic_shop_defaults, 0),
|
||||||
'Red Shield Shop': (0x0110, ShopType.Shop, 0xC1, False, False,
|
'Red Shield Shop': (0x0110, ShopType.Shop, 0xC1, False, False,
|
||||||
[('Red Shield', 500), ('Bee', 10), ('Arrows (10)', 30)], 3),
|
[('Bombs (10)', 50), ('Bee', 10), ('Arrows (10)', 30)], 3),
|
||||||
'Dark Lake Hylia Shop': (0x010F, ShopType.Shop, 0xC1, False, False, _dark_world_shop_defaults, 6),
|
'Dark Lake Hylia Shop': (0x010F, ShopType.Shop, 0xC1, False, False, _dark_world_shop_defaults, 6),
|
||||||
'Dark Lumberjack Shop': (0x010F, ShopType.Shop, 0xC1, False, False, _dark_world_shop_defaults, 9),
|
'Dark Lumberjack Shop': (0x010F, ShopType.Shop, 0xC1, False, False, _dark_world_shop_defaults, 9),
|
||||||
'Village of Outcasts Shop': (0x010F, ShopType.Shop, 0xC1, False, False, _dark_world_shop_defaults, 12),
|
'Village of Outcasts Shop': (0x010F, ShopType.Shop, 0xC1, False, False, _dark_world_shop_defaults, 12),
|
||||||
|
|||||||
8
Rom.py
8
Rom.py
@@ -85,7 +85,7 @@ from Utils import int16_as_bytes, int32_as_bytes, local_path, snes_to_pc
|
|||||||
from Versions import DRVersion, GKVersion, ORVersion
|
from Versions import DRVersion, GKVersion, ORVersion
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = 'a746c6916c3ca8e89df7d7ac79d354dd'
|
RANDOMIZERBASEHASH = '7ab93fa81cc8599f7025bc2d09a661a0'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
@@ -2970,9 +2970,9 @@ def text_for_item(item, world, player, team):
|
|||||||
|
|
||||||
def init_open_mode_sram(rom):
|
def init_open_mode_sram(rom):
|
||||||
rom.initial_sram.pre_open_castle_gate()
|
rom.initial_sram.pre_open_castle_gate()
|
||||||
rom.initial_sram.set_progress_indicator(0x02)
|
rom.initial_sram.set_progress_indicator(0x00)
|
||||||
rom.initial_sram.set_progress_flags(0x14)
|
rom.initial_sram.set_progress_flags(0x04)
|
||||||
rom.initial_sram.set_starting_entrance(0x01)
|
rom.initial_sram.set_starting_entrance(0x00)
|
||||||
|
|
||||||
def init_standard_mode_sram(rom):
|
def init_standard_mode_sram(rom):
|
||||||
rom.initial_sram.set_progress_indicator(0x00)
|
rom.initial_sram.set_progress_indicator(0x00)
|
||||||
|
|||||||
4
Text.py
4
Text.py
@@ -1567,7 +1567,6 @@ class TextTable(object):
|
|||||||
'hylian_text_2',
|
'hylian_text_2',
|
||||||
'desert_entry_translated',
|
'desert_entry_translated',
|
||||||
'uncle_dying_sewer',
|
'uncle_dying_sewer',
|
||||||
'telepathic_intro',
|
|
||||||
'desert_thief_sitting',
|
'desert_thief_sitting',
|
||||||
'desert_thief_following',
|
'desert_thief_following',
|
||||||
'desert_thief_question',
|
'desert_thief_question',
|
||||||
@@ -1611,7 +1610,7 @@ class TextTable(object):
|
|||||||
text['zelda_save_sewers'] = CompressedTextMapper.convert("You saved me!")
|
text['zelda_save_sewers'] = CompressedTextMapper.convert("You saved me!")
|
||||||
text['priest_info'] = CompressedTextMapper.convert("So, I'm the dude that will protect Zelda. Don't worry, I got this covered.")
|
text['priest_info'] = CompressedTextMapper.convert("So, I'm the dude that will protect Zelda. Don't worry, I got this covered.")
|
||||||
text['zelda_sanctuary_before_leave'] = CompressedTextMapper.convert("Be careful!")
|
text['zelda_sanctuary_before_leave'] = CompressedTextMapper.convert("Be careful!")
|
||||||
text['telepathic_intro'] = CompressedTextMapper.convert("{NOBORDER}\n{SPEED6}\nHey, come find me and help me!")
|
text['telepathic_intro'] = CompressedTextMapper.convert("{NOBORDER}\n{SPEED6}\n\nBring me shields...")
|
||||||
# 20
|
# 20
|
||||||
text['telepathic_reminder'] = CompressedTextMapper.convert("{NOBORDER}\n{SPEED6}\nI'm in the castle basement.")
|
text['telepathic_reminder'] = CompressedTextMapper.convert("{NOBORDER}\n{SPEED6}\nI'm in the castle basement.")
|
||||||
text['zelda_go_to_throne'] = CompressedTextMapper.convert("Go north to the throne.")
|
text['zelda_go_to_throne'] = CompressedTextMapper.convert("Go north to the throne.")
|
||||||
@@ -2058,5 +2057,6 @@ class TextTable(object):
|
|||||||
text['ganon_phase_3_silvers'] = CompressedTextMapper.convert("Oh no! Silver! My one true weakness!")
|
text['ganon_phase_3_silvers'] = CompressedTextMapper.convert("Oh no! Silver! My one true weakness!")
|
||||||
text['murahdahla'] = CompressedTextMapper.convert("Hello @. I\nam Murahdahla, brother of\nSahasrahla and Aginah. Behold the power of\ninvisibility.\n{PAUSE3}\n… … …\nWait! You can see me? I knew I should have\nhidden in a hollow tree.")
|
text['murahdahla'] = CompressedTextMapper.convert("Hello @. I\nam Murahdahla, brother of\nSahasrahla and Aginah. Behold the power of\ninvisibility.\n{PAUSE3}\n… … …\nWait! You can see me? I knew I should have\nhidden in a hollow tree.")
|
||||||
text['mastersword_pedestal_goal'] = CompressedTextMapper.convert("To claim thy reward, you must present all 3 Pendants of Virtue.")
|
text['mastersword_pedestal_goal'] = CompressedTextMapper.convert("To claim thy reward, you must present all 3 Pendants of Virtue.")
|
||||||
|
text['already_have_shield'] = CompressedTextMapper.convert("You already have a shield...")
|
||||||
text['end_pad_data'] = bytearray([0xfb])
|
text['end_pad_data'] = bytearray([0xfb])
|
||||||
text['terminator'] = bytearray([0xFF, 0xFF])
|
text['terminator'] = bytearray([0xFF, 0xFF])
|
||||||
|
|||||||
Binary file not shown.
@@ -1998,7 +1998,7 @@ def init_vanilla_sprites():
|
|||||||
create_sprite(0x0103, EnemySprite.Drunkard, 0x00, 0, 0x06, 0x15)
|
create_sprite(0x0103, EnemySprite.Drunkard, 0x00, 0, 0x06, 0x15)
|
||||||
create_sprite(0x0103, EnemySprite.AdultNpc, 0x00, 0, 0x0a, 0x1b)
|
create_sprite(0x0103, EnemySprite.AdultNpc, 0x00, 0, 0x0a, 0x1b)
|
||||||
create_sprite(0x0103, EnemySprite.Innkeeper, 0x00, 0, 0x17, 0x17)
|
create_sprite(0x0103, EnemySprite.Innkeeper, 0x00, 0, 0x17, 0x17)
|
||||||
create_sprite(0x0104, EnemySprite.UnclePriest, 0x00, 0, 0x1a, 0x17)
|
create_sprite(0x0104, EnemySprite.Pikit, 0x00, 0, 0x1a, 0x18)
|
||||||
create_sprite(0x0105, EnemySprite.Wiseman, 0x00, 0, 0x07, 0x18)
|
create_sprite(0x0105, EnemySprite.Wiseman, 0x00, 0, 0x07, 0x18)
|
||||||
create_sprite(0x0106, EnemySprite.Shopkeeper, 0x00, 0, 0x08, 0x1b)
|
create_sprite(0x0106, EnemySprite.Shopkeeper, 0x00, 0, 0x08, 0x1b)
|
||||||
create_sprite(0x0107, EnemySprite.BonkItem, 0x00, 0, 0x03, 0x15)
|
create_sprite(0x0107, EnemySprite.BonkItem, 0x00, 0, 0x03, 0x15)
|
||||||
|
|||||||
@@ -456,7 +456,7 @@ vanilla_sheets = [
|
|||||||
(0x47, 0x49, 0x2B, 0x2D), (0x46, 0x49, 0x1C, 0x52), (0x00, 0x49, 0x1C, 0x52), (0x5D, 0x49, 0x00, 0x52),
|
(0x47, 0x49, 0x2B, 0x2D), (0x46, 0x49, 0x1C, 0x52), (0x00, 0x49, 0x1C, 0x52), (0x5D, 0x49, 0x00, 0x52),
|
||||||
(0x46, 0x49, 0x13, 0x52), (0x4B, 0x4D, 0x4A, 0x5A), (0x47, 0x49, 0x1C, 0x52), (0x4B, 0x4D, 0x39, 0x36),
|
(0x46, 0x49, 0x13, 0x52), (0x4B, 0x4D, 0x4A, 0x5A), (0x47, 0x49, 0x1C, 0x52), (0x4B, 0x4D, 0x39, 0x36),
|
||||||
(0x1F, 0x2C, 0x2E, 0x52), (0x1F, 0x2C, 0x2E, 0x1D), (0x2F, 0x2C, 0x2E, 0x52), (0x2F, 0x2C, 0x2E, 0x31),
|
(0x1F, 0x2C, 0x2E, 0x52), (0x1F, 0x2C, 0x2E, 0x1D), (0x2F, 0x2C, 0x2E, 0x52), (0x2F, 0x2C, 0x2E, 0x31),
|
||||||
(0x1F, 0x1E, 0x30, 0x52), (0x51, 0x49, 0x13, 0x00), (0x4F, 0x49, 0x13, 0x50), (0x4F, 0x4D, 0x4A, 0x50),
|
(0x1F, 0x1E, 0x30, 0x52), (0x51, 0x49, 0x13, 0x1B), (0x4F, 0x49, 0x13, 0x50), (0x4F, 0x4D, 0x4A, 0x50),
|
||||||
|
|
||||||
(0x4B, 0x49, 0x4C, 0x2B), (0x1F, 0x20, 0x22, 0x53), (0x55, 0x3D, 0x42, 0x43), (0x1F, 0x1E, 0x23, 0x52),
|
(0x4B, 0x49, 0x4C, 0x2B), (0x1F, 0x20, 0x22, 0x53), (0x55, 0x3D, 0x42, 0x43), (0x1F, 0x1E, 0x23, 0x52),
|
||||||
(0x1F, 0x1E, 0x39, 0x3A), (0x1F, 0x1E, 0x3A, 0x3E), (0x1F, 0x1E, 0x3C, 0x3D), (0x40, 0x1E, 0x27, 0x3F),
|
(0x1F, 0x1E, 0x39, 0x3A), (0x1F, 0x1E, 0x3A, 0x3E), (0x1F, 0x1E, 0x3C, 0x3D), (0x40, 0x1E, 0x27, 0x3F),
|
||||||
|
|||||||
Reference in New Issue
Block a user