Merge branch 'OverworldShuffle' into GwaaKiwi
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import RaceRandom as random
|
||||
from collections import defaultdict
|
||||
from Utils import snes_to_pc
|
||||
|
||||
from source.dungeon.EnemyList import SpriteType, EnemySprite, sprite_translation
|
||||
@@ -446,13 +447,16 @@ def randomize_enemies(world, player):
|
||||
set_mimics(data_tables)
|
||||
elif world.enemy_shuffle[player] != 'none':
|
||||
data_tables = world.data_tables[player]
|
||||
custom_ow, custom_uw = {}, {}
|
||||
enemy_map = world.customizer.get_enemies() if world.customizer else None
|
||||
if enemy_map and player in enemy_map:
|
||||
if 'Underworld' in enemy_map[player]:
|
||||
custom_uw = enemy_map[player]['Underworld']
|
||||
if 'Overworld' in enemy_map[player]:
|
||||
custom_ow = enemy_map[player]['Overworld']
|
||||
if world.force_enemy[player]:
|
||||
custom_ow = {area_id: {i: world.force_enemy[player] for i, s in enumerate(sprite_list)} for area_id, sprite_list in world.data_tables[player].ow_enemy_table.items()}
|
||||
custom_uw = {room_id: {i: world.force_enemy[player] for i, s in enumerate(sprite_list)} for room_id, sprite_list in world.data_tables[player].uw_enemy_table.room_map.items()}
|
||||
else:
|
||||
enemy_map = world.customizer.get_enemies() if world.customizer else None
|
||||
if enemy_map and player in enemy_map:
|
||||
if 'Underworld' in enemy_map[player]:
|
||||
custom_uw = enemy_map[player]['Underworld']
|
||||
if 'Overworld' in enemy_map[player]:
|
||||
custom_ow = enemy_map[player]['Overworld']
|
||||
randomize_underworld_sprite_sheets(data_tables.sprite_sheets, data_tables, custom_uw)
|
||||
randomize_underworld_rooms(data_tables, world, player, custom_uw)
|
||||
randomize_overworld_sprite_sheets(data_tables.sprite_sheets, data_tables, custom_ow)
|
||||
@@ -525,6 +529,21 @@ def randomize_enemies(world, player):
|
||||
green_mail, blue_mail, red_mail = original_table[idx]
|
||||
del original_table[idx]
|
||||
world.data_tables[player].enemy_damage[i] = [green_mail, blue_mail, red_mail]
|
||||
# determine default zelda follower location
|
||||
if world.mode[player] == 'standard' and world.doorShuffle[player] == 'crossed' and world.shuffle_followers[player]:
|
||||
def random_zelda():
|
||||
world.default_zelda_region[player] = random.choice(['Hyrule Dungeon Cellblock', 'Thieves Blind\'s Cell'])
|
||||
if world.customizer:
|
||||
placements = world.customizer.get_placements()
|
||||
if placements and player in placements and 'Zelda Herself' in placements[player].values():
|
||||
location = [l for (l, item) in placements[player].items() if item == 'Zelda Herself'][0]
|
||||
if location == 'Suspicious Maiden':
|
||||
world.default_zelda_region[player] = 'Thieves Blind\'s Cell'
|
||||
else:
|
||||
random_zelda()
|
||||
else:
|
||||
random_zelda()
|
||||
|
||||
|
||||
|
||||
def write_enemy_shuffle_settings(world, player, rom):
|
||||
|
||||
Reference in New Issue
Block a user