diff --git a/BaseClasses.py b/BaseClasses.py index ba685ac2..fc0029ee 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -2269,7 +2269,7 @@ access_mode = {"items": 0, "locations": 1, "none": 2} # byte 6: BSMC BBEE (big, small, maps, compass, bosses, enemies) boss_mode = {"none": 0, "simple": 1, "full": 2, "random": 3, "chaos": 3} -enemy_mode = {"none": 0, "shuffled": 1, "random": 2, "chaos": 2} +enemy_mode = {"none": 0, "shuffled": 1, "random": 2, "chaos": 2, "legacy": 3} # byte 7: HHHD DP?? (enemy_health, enemy_dmg, potshuffle, ?) e_health = {"default": 0, "easy": 1, "normal": 2, "hard": 3, "expert": 4} diff --git a/Mystery.py b/Mystery.py index 6d0189f0..bd5581d6 100644 --- a/Mystery.py +++ b/Mystery.py @@ -195,15 +195,17 @@ def roll_settings(weights): boss_choice = old_style_bosses[boss_choice] ret.shufflebosses = boss_choice - ret.shuffleenemies = {'none': 'none', - 'shuffled': 'shuffled', - 'random': 'chaos' - }[get_choice('enemy_shuffle')] + enemy_choice = get_choice('enemy_shuffle') + if enemy_choice == 'chaos': + enemy_choice = 'random' + ret.shuffleenemies = enemy_choice - ret.enemy_damage = {'default': 'default', - 'shuffled': 'shuffled', - 'random': 'chaos' - }[get_choice('enemy_damage')] + old_style_damage = {'none': 'default', + 'chaos': 'random'} + damage_choice = get_choice('enemy_damage') + if damage_choice in old_style_damage: + damage_choice = old_style_damage[damage_choice] + ret.enemy_damage = damage_choice ret.enemy_health = get_choice('enemy_health') diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 112b2021..9c279af4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -17,6 +17,8 @@ Thanks to qadan, cheuer, & compiling * 0.4.0.8 * Ganon jokes added for when silvers aren't available * Some text updated (Blind jokes, uncle text) + * Fixed some enemizer Mystery settings + * Added a setting that's random enemy shuffle without Unkillable Thieves possible * 0.4.0.7 * Reduce flashing option added * Sprite author credit added diff --git a/Rom.py b/Rom.py index 734b4779..1053e182 100644 --- a/Rom.py +++ b/Rom.py @@ -201,7 +201,7 @@ def patch_enemizer(world, player, rom, baserom_path, enemizercli, random_sprite_ options = { 'RandomizeEnemies': world.enemy_shuffle[player] != 'none', 'RandomizeEnemiesType': 3, - 'RandomizeBushEnemyChance': world.enemy_shuffle[player] == 'random', + 'RandomizeBushEnemyChance': world.enemy_shuffle[player] in ['random', 'legacy'], 'RandomizeEnemyHealthRange': world.enemy_health[player] != 'default', 'RandomizeEnemyHealthType': {'default': 0, 'easy': 0, 'normal': 1, 'hard': 2, 'expert': 3}[world.enemy_health[player]], 'OHKO': False, @@ -247,9 +247,9 @@ def patch_enemizer(world, player, rom, baserom_path, enemizercli, random_sprite_ 'SwordGraphics': "sword_gfx/normal.gfx", 'BeeMizer': False, 'BeesLevel': 0, - 'RandomizeTileTrapPattern': world.enemy_shuffle[player] == 'random', + 'RandomizeTileTrapPattern': world.enemy_shuffle[player] in ['random', 'legacy'], 'RandomizeTileTrapFloorTile': False, - 'AllowKillableThief': bool(random.randint(0, 1)) if world.enemy_shuffle[player] == 'random' else world.enemy_shuffle[player] != 'none', + 'AllowKillableThief': bool(random.randint(0, 1)) if world.enemy_shuffle[player] == 'legacy' else world.enemy_shuffle[player] != 'none', 'RandomizeSpriteOnHit': random_sprite_on_hit, 'DebugMode': False, 'DebugForceEnemy': False, diff --git a/resources/app/cli/args.json b/resources/app/cli/args.json index 0dc97277..00d1c9db 100644 --- a/resources/app/cli/args.json +++ b/resources/app/cli/args.json @@ -340,7 +340,8 @@ "choices": [ "none", "shuffled", - "random" + "random", + "legacy" ] }, "enemy_health": { diff --git a/resources/app/gui/lang/en.json b/resources/app/gui/lang/en.json index 8ae98e81..850bb788 100644 --- a/resources/app/gui/lang/en.json +++ b/resources/app/gui/lang/en.json @@ -87,6 +87,7 @@ "randomizer.enemizer.enemyshuffle.none": "None", "randomizer.enemizer.enemyshuffle.shuffled": "Shuffled", "randomizer.enemizer.enemyshuffle.random": "Random", + "randomizer.enemizer.enemyshuffle.legacy": "Random (including Thieves)", "randomizer.enemizer.bossshuffle": "Boss Shuffle", "randomizer.enemizer.bossshuffle.none": "None", diff --git a/resources/app/gui/randomize/enemizer/widgets.json b/resources/app/gui/randomize/enemizer/widgets.json index bb731cc2..d987d41a 100644 --- a/resources/app/gui/randomize/enemizer/widgets.json +++ b/resources/app/gui/randomize/enemizer/widgets.json @@ -5,7 +5,8 @@ "options": [ "none", "shuffled", - "random" + "random", + "legacy" ] }, "bossshuffle": {