Change direction of green mimics
This commit is contained in:
@@ -3,7 +3,7 @@ from Utils import snes_to_pc
|
|||||||
|
|
||||||
from source.dungeon.EnemyList import SpriteType, EnemySprite, sprite_translation
|
from source.dungeon.EnemyList import SpriteType, EnemySprite, sprite_translation
|
||||||
from source.dungeon.RoomList import Room010C
|
from source.dungeon.RoomList import Room010C
|
||||||
from source.enemizer.SpecialEnemyModes import get_enemy_map_uw, get_enemy_map_ow
|
from source.enemizer.SpecialEnemyModes import get_enemy_map_uw, get_enemy_map_ow, write_mimic_changes
|
||||||
from source.enemizer.SpriteSheets import sub_group_choices
|
from source.enemizer.SpriteSheets import sub_group_choices
|
||||||
from source.enemizer.SpriteSheets import randomize_underworld_sprite_sheets, randomize_overworld_sprite_sheets
|
from source.enemizer.SpriteSheets import randomize_underworld_sprite_sheets, randomize_overworld_sprite_sheets
|
||||||
from source.enemizer.TilePattern import tile_patterns
|
from source.enemizer.TilePattern import tile_patterns
|
||||||
@@ -521,6 +521,9 @@ def write_enemy_shuffle_settings(world, player, rom):
|
|||||||
# rom.write_byte(snes_to_pc(0x368108), 0xc4)
|
# rom.write_byte(snes_to_pc(0x368108), 0xc4)
|
||||||
# rom.write_byte(snes_to_pc(0x0DB237), 4) # health value - randomize it if killable, maybe
|
# rom.write_byte(snes_to_pc(0x0DB237), 4) # health value - randomize it if killable, maybe
|
||||||
|
|
||||||
|
if world.enemy_shuffle[player] == 'mimics':
|
||||||
|
write_mimic_changes(rom)
|
||||||
|
else:
|
||||||
# mimic room barriers
|
# mimic room barriers
|
||||||
data_tables = world.data_tables[player]
|
data_tables = world.data_tables[player]
|
||||||
mimic_room = data_tables.room_list[0x10c] = Room010C
|
mimic_room = data_tables.room_list[0x10c] = Room010C
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
import RaceRandom as random
|
||||||
|
from Utils import snes_to_pc
|
||||||
|
|
||||||
from source.dungeon.EnemyList import EnemySprite, SpriteType, sprite_translation, enemy_names
|
from source.dungeon.EnemyList import EnemySprite, SpriteType, sprite_translation, enemy_names
|
||||||
|
|
||||||
def can_combine_req(req1, req2):
|
def can_combine_req(req1, req2):
|
||||||
@@ -28,7 +31,10 @@ def get_enemy_map(mode, reqs, vanilla_map):
|
|||||||
break
|
break
|
||||||
continue
|
continue
|
||||||
if req.killable:
|
if req.killable:
|
||||||
|
if random.random() > 0.1:
|
||||||
data[room_id][idx] = 'GreenMimic'
|
data[room_id][idx] = 'GreenMimic'
|
||||||
|
else:
|
||||||
|
data[room_id][idx] = 'RedMimic'
|
||||||
else:
|
else:
|
||||||
data[room_id][idx] = enemy_names[sprite.kind]
|
data[room_id][idx] = enemy_names[sprite.kind]
|
||||||
if len(data[room_id]) == 0:
|
if len(data[room_id]) == 0:
|
||||||
@@ -44,3 +50,9 @@ def get_enemy_map_uw(mode, data_tables):
|
|||||||
reqs = data_tables.sprite_requirements
|
reqs = data_tables.sprite_requirements
|
||||||
return get_enemy_map(mode, reqs, data_tables.uw_enemy_table.room_map)
|
return get_enemy_map(mode, reqs, data_tables.uw_enemy_table.room_map)
|
||||||
|
|
||||||
|
def write_mimic_changes(rom):
|
||||||
|
rom.write_bytes(snes_to_pc(0x1EC71B),
|
||||||
|
[0x00, 0xF0, 0x10, 0x00, 0x00, 0xF3, 0x0D, 0x00,
|
||||||
|
0x00, 0xF3, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00])
|
||||||
|
rom.write_bytes(snes_to_pc(0x1EC75C), [0x01, 0x00])
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user